Upfirst

resmi

Upfirst adalah resepsionis telepon AI untuk bisnis kecil. Tinjau transkrip panggilan, lalu perbaiki sapaan, pengetahuan, dan aturan transfer dari klien AI Anda.

Apa yang bisa Anda lakukan dengan Upfirst MCP?

  • Audit kinerja resepsionis — Minta asisten Anda untuk meninjau panggilan minggu lalu dan membandingkannya dengan pengetahuan agen untuk mengidentifikasi celah serta menyarankan entri pelatihan baru.

  • Konfigurasi resepsionis dari deskripsi — Minta asisten Anda mengubah deskripsi bahasa sehari-hari tentang bisnis dan penanganan panggilan Anda menjadi pengaturan lengkap dengan salam, pengetahuan, aturan transfer, dan jadwal.

  • Perbaiki panggilan yang kurang optimal — Arahkan asisten Anda ke transkrip panggilan tertentu dan jelaskan hasil yang diinginkan; asisten akan menyarankan edit pengetahuan yang tepat untuk meningkatkan panggilan di masa depan.

  • Kelola pengaturan agen — Instruksikan asisten Anda untuk membaca atau memperbarui salam resepsionis, pesan perpisahan, nada suara, kecepatan bicara, atau preferensi pemblokiran panggilan.

  • Buat dan edit konten pelatihan — Minta asisten Anda untuk menambah, memperbarui, atau menghapus entri pengetahuan yang tertaut ke satu atau lebih agen, termasuk entri penjadwalan untuk jam kerja tertentu.

  • Atur aturan transfer panggilan — Arahkan asisten Anda untuk mengonfigurasi keterampilan transfer dengan kondisi, pesan sebelum transfer, nomor tujuan, dan jadwal mingguan.

Dokumentasi

Menghubungkan

Tidak ada yang perlu diinstal. Arahkan klien Anda ke https://mcp.upfirst.ai dan klien akan memandu Anda untuk masuk ke Upfirst saat pertama kali terhubung. Otorisasi adalah proses masuk OAuth 2.1 standar, jadi tidak ada kunci API yang perlu disalin atau disimpan.

Server berjalan melalui HTTP yang dapat dialirkan dan memberi asisten Anda 25 alat, yang dapat membaca akun Anda dan mengubahnya. Pilih klien Anda di bawah.

Upfirst ada di direktori konektor Claude. Buka claude.ai/directory/upfirst, tambahkan Upfirst, lalu masuk ke Upfirst dan setujui akses. Ini berfungsi di aplikasi desktop Claude dan di claude.ai.

Tambahkan sebagai konektor kustom sebagai gantinya

  1. Buka Kustomisasi, lalu Konektor.
  2. Klik +, lalu Tambahkan konektor kustom.
  3. Beri nama Upfirst dan tempel URL di bawah sebagai URL server MCP jarak jauh.
  4. Biarkan kolom lanjutan Client ID dan Client Secret kosong.
  5. Klik Tambahkan, lalu Hubungkan, masuk ke Upfirst, dan setujui akses.
https://mcp.upfirst.ai

Pada paket Team dan Enterprise, pemilik menambahkan konektor sekali di bawah pengaturan Organisasi, dan semua orang lain mengklik Hubungkan.

Bagaimanapun Anda terhubung, panggilan pertama membuka halaman masuk Upfirst. Anda menyetujui akses sekali, dan koneksi tetap terikat ke organisasi Anda sejak saat itu.

Konvensi

Beberapa aturan berlaku di semua alat. Setiap alat membawa tag untuk apa yang dilakukannya terhadap data Anda:

  • Baca Mengambil data; tidak pernah mengubah apa pun.
  • Tulis Membuat atau memperbarui catatan.
  • Hapus Menghapus catatan secara permanen. Tidak ada pembatalan.

Id berasal dari alat daftar

Id agen berasal dari list_agents, id keterampilan dari list_agent_skills, id pengetahuan dari get_agent_knowledge, id sapaan dari list_agent_greetings, id tindakan kustom dari list_custom_actions, dan id panggilan dari list_calls. Id adalah string digit. Alat keterampilan menerima id sebagai skillId; alat pengetahuan, sapaan, dan tindakan kustom menerimanya sebagai id. Alat pembaruan dan penghapusan hanya memerlukan id tersebut. Mereka tidak menerima agentId.

Catatan ditautkan ke agen

Setiap keterampilan, entri pengetahuan, dan tindakan kustom ditautkan ke satu atau lebih agen. Alat pembuatan menerima agentIds, daftar dengan setidaknya satu id agen. Atur autoLinkNewAgents ke true untuk juga memberikan catatan kepada setiap agen yang Anda buat nanti. Dalam kasus itu, agentIds harus mencantumkan setiap agen saat ini. Alat pembaruan mengubah tautan hanya saat Anda mengirim agentIds dan autoLinkNewAgents. Biarkan keduanya kosong untuk mempertahankan tautan apa adanya. Mengedit atau menghapus catatan mengubahnya untuk setiap agen yang ditautkan.

Penomoran halaman

get_agent_knowledge, list_calls, dan get_call_transcript menerima offset dan limit dan mengembalikan totalCount, sehingga halaman selalu diambil dari kumpulan terfilter yang sama. Alat daftar lainnya mengembalikan semuanya dalam satu respons.

Zona waktu

Tanggal polos (YYYY-MM-DD) dibaca dalam zona waktu bisnis. Jadwal mingguan dibaca dalam zona waktu masing-masing agen, sehingga satu entri yang ditautkan ke agen di dua zona waktu mengikuti jam lokal untuk masing-masing. Berikan datetime ISO 8601 lengkap saat Anda membutuhkan waktu yang tepat.

Penghapusan bersifat permanen

Tidak ada pemulihan melalui koneksi ini. Keterampilan, entri pengetahuan, atau tindakan kustom yang dihapus hilang dari setiap agen yang ditautkan, dan agen tersebut berhenti menggunakannya dalam hitungan menit.

Beberapa pengaturan hanya di dasbor

Suara, zona waktu, dan bahasa; penjadwalan keterampilan; koneksi OAuth yang digunakan tindakan kustom untuk autentikasi; menghapus keterampilan transfer; dan mengimpor pengetahuan situs web dikelola di dasbor Upfirst, bukan melalui MCP. Alat menyatakan demikian jika berlaku.

Contoh perintah

Server MCP Upfirst berfungsi dari klien AI kompatibel mana pun. Untuk memulai, salin salah satu perintah ini ke klien Anda dan sesuaikan dengan bisnis Anda.

Temukan celah dalam pengetahuan resepsionis Anda

Kasus penggunaan

Gunakan alur kerja ini untuk meninjau panggilan seminggu terakhir dan menemukan di mana pengetahuan resepsionis kurang, sehingga Anda tahu apa yang perlu ditambahkan ke pelatihannya.

Contoh perintah

Anda membantu menemukan celah dalam pengetahuan resepsionis Upfirst.

Tinjau panggilan dari tujuh hari terakhir, lalu baca pengetahuan resepsionis saat ini. Cari pertanyaan yang diajukan penelepon yang tidak dapat dijawab dengan baik, informasi yang hilang, dan topik yang sama muncul lebih dari sekali.

Untuk setiap celah, tunjukkan panggilan yang menunjukkannya dan sarankan entri pengetahuan spesifik yang akan mengisinya, ditulis dengan cara resepsionis harus menjawab. Kelompokkan celah terkait dan urutkan berdasarkan seberapa sering muncul.

Jangan ubah apa pun. Sajikan celah dan entri yang disarankan untuk ditinjau.

Resepsionis: [Name, or leave blank for all]

Siapkan resepsionis Anda dari deskripsi

Kasus penggunaan

Gunakan alur kerja ini untuk mendeskripsikan cara Anda ingin resepsionis menangani panggilan dan biarkan asisten Anda membangun pengaturannya: sapaan, pengetahuan, aturan transfer, jadwal, dan keterampilan mengirim pesan teks.

Contoh perintah

Anda membantu mengonfigurasi resepsionis AI Upfirst dari deskripsi sederhana tentang cara menangani panggilan.

Ubah deskripsi menjadi pengaturan lengkap: sapaan dan ucapan selamat tinggal, pengetahuan yang dibutuhkan untuk menjawab pertanyaan umum, aturan transfer untuk panggilan yang harus mencapai seseorang, jadwal untuk informasi atau transfer yang hanya berlaku pada jam tertentu, dan keterampilan mengirim pesan teks yang diminta deskripsi.

Tanyakan tentang hal penting yang tidak jelas dalam deskripsi, seperti jam kerja, siapa yang harus dihubungi panggilan, atau cara menangani permintaan umum, alih-alih menebak.

Tampilkan pengaturan lengkap yang diusulkan untuk ditinjau sebelum membuat apa pun, lalu terapkan setelah disetujui.

Cara resepsionis harus menangani panggilan: [Describe your business, your hours, what callers usually need, and who calls should reach]

Perbaiki panggilan yang tidak berjalan baik

Kasus penggunaan

Gunakan alur kerja ini untuk menunjukkan panggilan yang tidak berjalan sesuai keinginan Anda, katakan apa yang Anda inginkan, dan minta asisten Anda menyesuaikan pengetahuan resepsionis sehingga panggilan serupa berjalan lebih baik.

Contoh perintah

Anda membantu meningkatkan resepsionis Upfirst berdasarkan panggilan yang tidak berjalan baik.

Baca panggilan yang saya tunjukkan, termasuk transkripnya, dan bandingkan apa yang dilakukan resepsionis dengan apa yang saya inginkan terjadi. Cari tahu apa yang menyebabkan hasil tersebut: apakah ada pengetahuan yang hilang, tidak jelas, atau bertentangan dengan entri lain.

Sarankan perubahan spesifik yang akan membuat panggilan seperti ini berjalan lebih baik lain kali, ditulis sebagai pengetahuan yang tepat untuk ditambahkan atau diedit, dan jelaskan mengapa masing-masing membantu.

Tampilkan perubahan untuk ditinjau sebelum menerapkannya, lalu buat edit yang disetujui.

Panggilan: [ID or a short description of the call]
Apa yang saya inginkan terjadi sebagai gantinya: [Describe the outcome you were hoping for]

01

Akun & agen

Orientasikan diri Anda, lalu baca atau perbarui resepsionis AI individual.

Mulai di sini. Gambaran singkat yang ringkas dari seluruh akun: nama bisnis, setiap resepsionis dengan zona waktu, sapaan, nomor telepon, keterampilan dan pengetahuan, serta jumlah panggilan yang ditangani dalam 30 hari terakhir.

Tanpa parameter.

Mengembalikan Nama bisnis · agen (id, nama, zona waktu, sapaan, nomor telepon, nama keterampilan & pengetahuan) · panggilan dalam 30 hari terakhir (hanya panggilan yang diselesaikan; panggilan uji dan arsip tidak dihitung).

Daftarkan agen AI organisasi. Gunakan id yang dikembalikan dengan alat yang dibatasi agen di bawah.

Tanpa parameter.

Mengembalikan agen, masing-masing dengan id dan nama.

Baca pengaturan percakapan lengkap satu agen dan nomor telepon yang terlampir.

ParameterTipeDeskripsi
agentIdstring wajibId agen numerik dari list_agents.

Mengembalikan pesan sapaan & ucapan selamat tinggal, nada suara, kecepatan bicara, musik tunggu, zona waktu, pemblokiran spam & bebas pulsa, dan nomor telepon yang terlampir.

Ubah pengaturan percakapan agen. Pembaruan parsial: kirim hanya yang berubah; setidaknya satu bidang yang dapat diatur diperlukan.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang akan diperbarui.
greetingMessagestring opsionalPesan pembuka.
goodbyeMessagestring opsionalPesan penutup.
voiceToneenum opsionalfriendly · professional
speechRateangka opsional0.7 · 0.85 · 1 · 1.1 · 1.2
holdMusicenum opsionalringTone · gentleGuitar · marimba · softKeys
isSpamCallsBlockedboolean opsionalBlokir panggilan yang diduga spam.
isTollFreeCallsBlockedboolean opsionalBlokir panggilan bebas pulsa.

Suara, zona waktu, dan bahasa dikelola di dasbor dan tidak dapat diubah di sini. Kedua bendera pemblokiran bersifat organisasi: mengatur salah satunya mengubahnya untuk setiap agen aktif, sama seperti dasbor. greetingMessage adalah sapaan default. Sapaan untuk jam atau tanggal tertentu memiliki alat sendiri di bawah Sapaan terjadwal.

Mengembalikan agen yang diperbarui, dalam bentuk yang sama seperti get_agent_by_id.

02

Sapaan terjadwal

Sapaan terjadwal adalah apa yang dikatakan resepsionis pertama kali pada panggilan yang jatuh dalam jadwalnya, seperti sapaan setelah jam kerja atau hari libur. Setiap sapaan dimiliki oleh satu agen. Saat tidak ada sapaan terjadwal yang cocok dengan waktu panggilan, agen menggunakan sapaan defaultnya, yang dibaca dengan get_agent_by_id dan diubah dengan update_agent.

Daftarkan sapaan terjadwal agen, termasuk yang tidak aktif. Baca ini sebelum mengubah sapaan, sehingga tidak ada yang tertimpa tanpa terlihat.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang sapaan-nya akan didaftarkan.

Mengembalikan id setiap sapaan, text, bendera aktif, kind, dan schedule. kind bersifat hanya-baca: text berarti sapaan diucapkan sebagaimana ditulis, instruction berarti agen membangun sapaan darinya, dan unknown berarti belum diklasifikasikan.

Tambahkan sapaan terjadwal ke agen. Sapaan disimpan hanya saat seluruh permintaan valid.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang memiliki sapaan.
textstring wajibKata-kata persis yang diucapkan, atau instruksi tentang cara menyapa.
scheduleobjek wajibKapan sapaan digunakan, dalam zona waktu agen. Lihat Jadwal sapaan.
isActiveboolean opsionalApakah sapaan digunakan pada panggilan dari awal. Default ke true.

Jadwal tidak boleh tumpang tindih dengan sapaan aktif lain dari agen yang sama. Jam mingguan dan tanggal diperiksa secara terpisah. kind diatur oleh sistem: ia membaca unknown tepat setelah penulisan dan diklasifikasikan dalam hitungan detik.

Mengembalikan id sapaan baru dan bidangnya.

Ubah teks sapaan terjadwal, bendera aktif, atau jadwal. Pembaruan parsial: kirim hanya yang berubah; setidaknya satu bidang diperlukan.

ParameterTipeDeskripsi
idstring wajibId sapaan, dari list_agent_greetings.
textstring opsionalTeks sapaan baru.
isActiveboolean opsionalApakah sapaan digunakan pada panggilan.
scheduleobjek opsionalJadwal baru. Lihat Jadwal sapaan.

Jadwal baru menggantikan yang tersimpan sepenuhnya, jadi baca sapaan terlebih dahulu dan kirim kembali jadwal lengkap yang Anda inginkan. Aturan tumpang tindih yang sama berlaku seperti saat pembuatan. Perubahan teks mengatur ulang kind ke unknown hingga diklasifikasikan lagi.

Mengembalikan bidang yang ditulis pembaruan.

Hapus sapaan terjadwal secara permanen.

ParameterTipeDeskripsi
idstring wajibId sapaan yang akan dihapus.

Tidak ada cara untuk memulihkan sapaan yang dihapus. Panggilan di slot waktunya kemudian menggunakan sapaan lain yang cocok, atau sapaan default agen saat tidak ada yang cocok. Jadwal sapaan memiliki jam mingguan di days dan tanggal pasti opsional di dates, semuanya dalam zona waktu agen. days menggunakan bentuk yang sama dengan Jadwal: tujuh hari, masing-masing dengan enabled dan workingPeriods. Setiap entri di dates memiliki date sebagai YYYY-MM-DD dan setidaknya satu rentang waktu di periods. Entri tanggal menang atas jam mingguan untuk hari itu, begitulah cara Anda mengatur sapaan hari libur.

{
  "days": {
    "monday":    { "enabled": true,  "workingPeriods": [{ "from": "17:00", "to": "23:59" }] },
    "tuesday":   { "enabled": true,  "workingPeriods": [{ "from": "17:00", "to": "23:59" }] },
    "wednesday": { "enabled": true,  "workingPeriods": [{ "from": "17:00", "to": "23:59" }] },
    "thursday":  { "enabled": true,  "workingPeriods": [{ "from": "17:00", "to": "23:59" }] },
    "friday":    { "enabled": true,  "workingPeriods": [{ "from": "17:00", "to": "23:59" }] },
    "saturday":  { "enabled": false, "workingPeriods": [] },
    "sunday":    { "enabled": false, "workingPeriods": [] }
  },
  "dates": [
    { "date": "2026-12-25", "periods": [{ "from": "00:00", "to": "23:59" }] }
  ]
}

03

Keterampilan

Keterampilan adalah tindakan yang dapat dilakukan resepsionis dalam panggilan: mengirim SMS ke penelepon, mengirim tautan penjadwalan, mengalihkan panggilan, memesan janji temu, atau memanggil API eksternal. Setiap jenis memiliki alatnya sendiri, jadi bidang yang Anda kirim selalu yang digunakan oleh jenis tersebut. Keterampilan penjadwalan bersifat hanya-baca di sini dan dikelola di dasbor. Pengaturan keterampilan webhook berada di tindakan kustom yang tertaut; baca dan edit dengan alat Tindakan kustom di bawah.

Daftarkan keterampilan yang dikonfigurasi untuk agen, termasuk yang tidak aktif secara default.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang keterampilannya akan didaftarkan.
llmToolenum opsionalHanya keterampilan jenis ini: sendSms · sendScheduleSms · transferCall · scheduleSlot · customWebhook.
includeInactiveboolean opsionalSertakan keterampilan yang dimatikan. Default true.

Mengembalikan keterampilan: id, nama, slug, jenis, bendera aktif, konfigurasi tersimpan, jadwal mingguan opsional. Baris customWebhook memiliki konfigurasi kosong dan blok webhook dengan url tindakan tertaut, metode HTTP, dan waktu; baca konfigurasi lengkapnya dengan list_custom_actions.

Jadwal dihormati pada panggilan hanya untuk keterampilan transfer. Jenis lain menyimpannya tetapi mengabaikannya.

Tambahkan keterampilan SMS: SMS yang dapat dikirim resepsionis ke penelepon selama panggilan. sendSms mengirim pesan sebagaimana ditulis. sendScheduleSms mengirimnya bersama tautan penjadwalan organisasi.

ParameterTipeDeskripsi
agentIdsstring[] wajibAgen yang menerima keterampilan, setidaknya satu. Id dari list_agents.
autoLinkNewAgentsboolean opsionalJuga berikan keterampilan kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini. Default false.
llmToolenum wajibsendSms · sendScheduleSms
namestring wajibLabel pendek, ditampilkan di dasbor.
messagestring wajibTeks SMS yang dikirim agen, hingga 306 karakter.
instructionstring wajibKapan agen harus mengirimnya selama panggilan.
isActiveboolean opsionalAktif dari awal. Default true.

Pesan melewati filter konten yang menolak kata-kata promosi atau yang dibatasi lainnya.

Mengembalikan id keterampilan baru dan bidang yang Anda kirim (llmTool, name, message, instruction, isActive). Baca keterampilan tersimpan dengan list_agent_skills.

Ubah keterampilan SMS. Pembaruan parsial: hanya bidang yang Anda kirim yang berubah. Kirim setidaknya satu bidang yang dapat diatur atau kumpulan agen baru.

ParameterTipeDeskripsi
skillIdstring wajibId keterampilan dari list_agent_skills.
llmToolenum opsionalBeralih antara sendSms dan sendScheduleSms.
namestring opsionalLabel baru.
messagestring opsionalTeks SMS baru, hingga 306 karakter.
instructionstring opsionalPanduan baru tentang kapan mengirimnya.
isActiveboolean opsionalNyalakan atau matikan keterampilan.
agentIdsstring[] opsionalKumpulan agen baru yang menerima keterampilan. Kirim bersama autoLinkNewAgents, atau biarkan keduanya kosong untuk mempertahankan tautan saat ini.
autoLinkNewAgentsboolean opsionalJuga berikan keterampilan kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini.

Mengembalikan bidang yang ditulis pembaruan.

Hapus permanen keterampilan SMS dari setiap agen yang tertaut. Agen tersebut berhenti mengirim pesan itu.

ParameterTipeDeskripsi
skillIdstring wajibId keterampilan yang akan dihapus.

Tidak ada cara untuk memulihkan keterampilan yang dihapus. Mendapatkannya kembali berarti membuatnya lagi dari awal.

Mengembalikan { id, note }, di mana note mengonfirmasi penghapusan dalam bahasa sederhana.

Tambahkan keterampilan transfer: aturan yang menyerahkan panggilan langsung ke seseorang. condition memberi tahu agen kapan harus transfer, preTransferMessage adalah apa yang dikatakannya ke penelepon terlebih dahulu, dan destinations adalah nomor yang dihubungi secara berurutan.

ParameterTipeDeskripsi
agentIdsstring[] wajibAgen yang menerima keterampilan, setidaknya satu. Id dari list_agents.
autoLinkNewAgentsboolean opsionalJuga berikan keterampilan kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini. Default false.
namestring wajibLabel pendek, ditampilkan di dasbor.
conditionstring wajibKapan harus transfer, dalam bahasa sederhana.
preTransferMessagestring wajibApa yang dikatakan agen sebelum transfer.
destinationsarray wajibSatu atau lebih target, dicoba secara berurutan, masing-masing { phoneNumber, label, phoneExtension }. phoneNumber wajib dan harus E.164 (mis. +12025550123).
ringTimeoutSecondsnumber opsionalWaktu dering per tujuan, 5–60.
noAnswerActionenum opsionalendCall · returnToAgent
transferMethodenum opsionalcold menyerahkan penelepon langsung · warm memberi pengarahan ke tujuan terlebih dahulu.
transferCallerIdenum opsionalNomor yang dilihat tujuan: upfirstNumber · callerNumber.
recordingModeenum opsionalagentOnly menghentikan perekaman saat transfer · fullCall terus merekam setelahnya.
isActiveboolean opsionalAktif dari awal. Default true.
scheduleobject opsionalJam mingguan keterampilan ditawarkan, dalam zona waktu agen. Lewati untuk selalu tersedia. Lihat Jadwal.

Setiap tujuan harus berada di negara yang sama dengan salah satu nomor Upfirst dari agen tertaut. Saat dihilangkan, keterampilan menggunakan default dasbor saat panggilan: dering 30 detik, akhiri panggilan jika tidak dijawab, transfer dingin, nomor Upfirst sebagai id penelepon, dan perekaman berhenti saat transfer.

Mengembalikan id keterampilan baru dan bidang yang Anda kirim. Baca keterampilan tersimpan dengan list_agent_skills.

Ubah keterampilan transfer. Pembaruan parsial: hanya bidang yang Anda kirim yang berubah. Kirim setidaknya satu bidang yang dapat diatur atau kumpulan agen baru.

ParameterTipeDeskripsi
skillIdstring wajibId keterampilan dari list_agent_skills.
destinationsarray opsionalMengganti seluruh daftar. Kirim setiap nomor yang ingin Anda pertahankan.
scheduleobject opsionalMengganti jam tersimpan. null menghapus jadwal, membuat keterampilan tersedia sepanjang waktu.
Bidang buat lainnyaopsionalname, condition, preTransferMessage, ringTimeoutSeconds, noAnswerAction, transferMethod, transferCallerId, recordingMode, isActive. Nilai sama dengan saat membuat.
agentIdsstring[] opsionalKumpulan agen baru yang menerima keterampilan. Kirim bersama autoLinkNewAgents, atau biarkan keduanya kosong untuk mempertahankan tautan saat ini.
autoLinkNewAgentsboolean opsionalJuga berikan keterampilan kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini.

Setiap tujuan harus berada di negara yang sama dengan salah satu nomor Upfirst dari agen tertaut.

Jenis keterampilan ditetapkan saat pembuatan. Melewati id keterampilan penjadwalan atau webhook terbaca sebagai tidak ditemukan.

Mengembalikan bidang yang ditulis pembaruan.

Tidak ada alat untuk ini. Keterampilan transfer dihapus di dasbor Upfirst. Melalui MCP Anda dapat mematikannya sebagai gantinya: atur isActive: false dengan update_transfer_call_skill, dan agen berhenti menawarkan transfer sementara keterampilan tetap dikonfigurasi.

04

Pengetahuan

Pengetahuan resepsionis adalah apa yang digunakannya untuk menjawab penelepon. Di dasbor Upfirst, entri ini berada di bawah Pelatihan. Masing-masing adalah teks yang Anda tulis, atau konten yang diimpor dari situs web. Sebuah entri dapat ditautkan ke beberapa agen, dan mengedit atau menghapusnya mengubah apa yang dijawab setiap agen tertaut. Penulisan melatih ulang resepsionis secara otomatis dalam hitungan menit.

Baca basis pengetahuan agen. Setiap entri dikembalikan utuh dengan konten lengkapnya, tidak pernah pratinjau.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang pengetahuannya akan dibaca.
idstring opsionalKembalikan hanya entri ini.
offsetnumber opsionalEntri yang dilewati. Default 0.
limitnumber opsionalMaksimal entri, 1–100. Default 25.

Mengembalikan entri: id, nama, tipe (teks/situs web), bendera aktif, konten lengkap, url sumber, dan jadwal mingguan, plus totalCount.

Tambahkan entri teks ke pelatihan satu atau lebih resepsionis. Entri baru masuk ke atas daftar setiap agen tertaut.

ParameterTipeDeskripsi
agentIdsstring[] wajibAgen yang menerima entri, setidaknya satu. Id dari list_agents.
autoLinkNewAgentsboolean opsionalJuga berikan entri kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini. Default false.
namestring wajibNama tampilan entri.
contentstring wajibTeks biasa, hingga 250.000 karakter.
isActiveboolean opsionalAktif dari awal. Default true.
scheduleobject opsionalBatasi entri ke jam kerja. Lewati untuk selalu aktif. Lihat Jadwal.

Mengembalikan id, name, isActive, schedule entri baru (null saat selalu aktif), dan contentLength dalam karakter. Baca entri lengkap dengan get_agent_knowledge.

Ubah nama entri, bendera aktif, konten, jadwal, atau agen mana yang melihatnya. Pembaruan parsial: kirim setidaknya satu bidang yang dapat diatur atau kumpulan agen baru.

ParameterTipeDeskripsi
idstring wajibId entri dari get_agent_knowledge.
name, isActiveopsionalNama / bendera aktif baru.
contentstring opsionalTeks baru, mengganti seluruh konten tersimpan. Hingga 250.000 karakter.
scheduleobject opsionalJadwal baru. null menghapusnya, membuat entri selalu tersedia; lewati untuk mempertahankan yang tersimpan.
agentIdsstring[] opsionalKumpulan agen baru yang menerima entri. Kirim bersama autoLinkNewAgents, atau biarkan keduanya kosong untuk mempertahankan tautan saat ini.
autoLinkNewAgentsboolean opsionalJuga berikan entri kepada setiap agen yang dibuat kemudian. Saat true, agentIds harus mencantumkan setiap agen saat ini.

Konten diganti, tidak pernah ditambahkan. Baca entri dengan get_agent_knowledge terlebih dahulu dan kirim kembali teks lengkap yang Anda inginkan, termasuk apa pun yang Anda pertahankan. Edit mengubah apa yang dikatakan setiap agen tertaut ke entri.

Mengembalikan bidang yang ditulis pembaruan. Konten baru kembali sebagai contentLength, bukan teks lengkap.

Hapus permanen entri pengetahuan.

ParameterTipeDeskripsi
idstring wajibId entri yang akan dihapus.

Tidak ada cara untuk memulihkan entri yang dihapus. Menghapusnya menghilangkannya dari setiap agen yang tertaut.

Mengembalikan { id, note }, di mana note mengonfirmasi penghapusan dalam bahasa sederhana. Jadwal membatasi entri pengetahuan (atau keterampilan transfer) hanya pada jam kerja, yang dihormati di zona waktu bisnis agen. Ini adalah objek per-hari-kerja. Setiap jadwal yang Anda kirim harus mencakup ketujuh hari; hari di mana entri tidak berlaku adalah enabled: false dengan workingPeriods kosong. Waktu menggunakan format 24 jam HH:MM di zona waktu agen.

Entri terjadwal hanya ada dalam pengetahuan resepsionis selama jendela waktunya. Di luar itu, entri dianggap tidak ada, sehingga resepsionis tidak pernah menjawab darinya pada waktu yang salah.

Itu membuat jadwal menjadi cara yang andal untuk menangani fakta yang spesifik waktu. Untuk membuat jam buka dan tutup anti-gagal, tambahkan satu entri yang dibatasi pada jam buka Anda dengan teks "Kami sedang buka," dan entri kedua yang dibatasi pada jam tutup Anda dengan teks "Kami sedang tutup." Hanya satu yang aktif setiap saat, sehingga resepsionis tidak bisa mencampurnya.

{
  "days": {
    "monday":    { "enabled": true,  "workingPeriods": [{ "from": "09:00", "to": "17:00" }] },
    "tuesday":   { "enabled": true,  "workingPeriods": [{ "from": "09:00", "to": "17:00" }] },
    "wednesday": { "enabled": true,  "workingPeriods": [{ "from": "09:00", "to": "17:00" }] },
    "thursday":  { "enabled": true,  "workingPeriods": [{ "from": "09:00", "to": "17:00" }] },
    "friday":    { "enabled": true,  "workingPeriods": [{ "from": "09:00", "to": "17:00" }] },
    "saturday":  { "enabled": false, "workingPeriods": [] },
    "sunday":    { "enabled": false, "workingPeriods": [] }
  }
}

05

Tindakan kustom

Tindakan kustom adalah panggilan yang dilakukan resepsionis ke API HTTP eksternal. timing menentukan kapan tindakan itu berjalan: before dipicu sebelum percakapan dan hanya boleh menggunakan variabel sistem; during ditawarkan kepada agen pada panggilan, yang memutuskan dari deskripsi apakah akan memanggilnya; after dipicu setelah panggilan berakhir, baik setiap kali atau ketika kondisi bahasa biasa terpenuhi.

Variabel diinterpolasi ke dalam url, parameter kueri, header, dan body sebagai {{name}}. Sebuah tindakan ditautkan ke satu atau lebih agen, dan mengedit atau menghapusnya mengubah apa yang dilakukan setiap agen tertaut. Di list_agent_skills, keterampilan customWebhook adalah tampilan sisi-agen dari tindakan kustom. Koneksi OAuth yang dapat digunakan untuk autentikasi tindakan diatur di dasbor Upfirst.

Setiap tindakan kustom yang dapat digunakan agen, masing-masing dengan seluruh konfigurasinya. Baca ini sebelum menulis ulang tindakan, agar tidak ada yang tertimpa tanpa terlihat.

ParameterTipeDeskripsi
agentIdstring wajibAgen yang tindakannya akan didaftar. Setiap tindakan yang ditautkan ke agen ini disertakan.
idstring opsionalKembalikan hanya satu tindakan ini.

Mengembalikan customActions, masing-masing dengan id, agentIds (setiap agen yang ditautkan ke tindakan), autoLinkNewAgents, nama, deskripsi, waktu, metode HTTP, url, tipe auth dan id koneksi OAuth, pesan fallback, batas waktu, bendera aktif, variabel, parameter kueri, header, bidang keluaran yang diizinkan, nilai sampel, template body, dan kondisi setelah-waktu.

Header yang namanya terlihat seperti kredensial (token, key, secret, authorization) kembali sebagai [redacted]; nilai aslinya tidak pernah dibaca. Tindakan yang dihapus dihilangkan.

Tambahkan tindakan kustom dan tautkan ke satu atau lebih agen.

ParameterTipeDeskripsi
agentIdsstring[] wajibAgen yang menerima tindakan, setidaknya satu. Id dari list_agents.
autoLinkNewAgentsboolean opsionalJuga berikan tindakan ke setiap agen yang dibuat nanti. Saat true, agentIds harus mencantumkan setiap agen saat ini. Default false.
namestring wajibLabel pendek, ditampilkan di dasbor.
descriptionstring wajibApa yang dilakukan tindakan, dalam bahasa biasa. Waktu before dan during menempatkannya di depan agen, yang memutuskan dari teks ini apakah akan memanggil API. Waktu after mengabaikannya.
timingenum wajibbefore · during · after
httpMethodenum wajibGET · POST · PUT · PATCH · DELETE
urlstring wajibEndpoint tujuan permintaan. Dapat berisi placeholder {{variable}}.
authTypeenum wajibnone mengirim permintaan tanpa autentikasi · bearer memerlukan header Authorization dalam headers · customHeaders mengautentikasi melalui header yang Anda berikan · oauth_connection menyelesaikan token dari koneksi dan memerlukan oauthConnectionId.
fallbackMessagestring wajibApa yang dikatakan agen kepada penelepon saat permintaan gagal atau habis waktu.
oauthConnectionIdstring opsionalId numerik dari koneksi OAuth yang terhubung. Diperlukan untuk oauth_connection, ditolak untuk setiap tipe auth lainnya. Ambil dari list_custom_actions pada tindakan yang sudah menggunakannya.
variablesarray opsionalNilai yang diinterpolasi ke dalam permintaan, masing-masing { name, description, exampleValue, isSystem, required }. name dan description wajib dan nama harus unik. Variabel sistem diisi oleh Upfirst dari panggilan itu sendiri; yang kustom dikumpulkan dari penelepon. Tindakan berwaktu before hanya boleh menggunakan variabel sistem. Default [].
queryParamsarray opsionalParameter string kueri, masing-masing { key, value }. Nilai dapat menggunakan placeholder. Default [].
headersarray opsionalHeader permintaan, masing-masing { key, value }. Auth Bearer membawa tokennya dalam header Authorization di sini. Jangan pernah mengirim placeholder [redacted] kembali. Default [].
allowedOutputFieldsstring[] opsionalBidang respons JSON yang boleh dibaca agen. Kosong meneruskan respons tanpa perubahan. Default [].
bodyTemplatestring opsionalBody permintaan dikirim apa adanya dengan placeholder yang disubstitusi. Kosong untuk tidak ada.
sampleValuesobjek opsionalNilai per nama variabel, digunakan saat tindakan dicoba.
timeoutSecondsinteger opsional1–30. Default 10.
isActiveboolean opsionalAktif dari awal. Default true.
conditionstring atau null opsionalHanya waktu after. Aturan bahasa biasa yang diperiksa terhadap panggilan yang selesai; null dipicu setelah setiap panggilan. Tinggalkan untuk before dan during.

Mengembalikan tindakan yang dibuat dengan id barunya.

Ubah tindakan kustom. Pembaruan parsial: hanya bidang yang Anda kirim yang berubah. Kirim setidaknya satu bidang yang dapat diatur atau kumpulan agen baru. Daftar diganti seluruhnya, bukan digabung, jadi baca tindakan dengan list_custom_actions terlebih dahulu.

ParameterTipeDeskripsi
idstring wajibId tindakan dari list_custom_actions.
agentIdsstring[] opsionalKumpulan agen baru yang menerima tindakan. Kirim bersama autoLinkNewAgents, atau tinggalkan keduanya untuk mempertahankan tautan saat ini.
autoLinkNewAgentsboolean opsionalJuga berikan tindakan ke setiap agen yang dibuat nanti. Saat true, agentIds harus mencantumkan setiap agen saat ini.
oauthConnectionIdstring atau null opsionalnull menghapusnya. Kirim null dalam panggilan yang sama yang memindahkan tindakan dari tipe auth oauth_connection.
conditionstring atau null opsionalnull menghapusnya. Kirim null dalam panggilan yang sama yang memindahkan tindakan dari waktu after.
variables, queryParams, headers, allowedOutputFieldsarray opsionalMasing-masing mengganti seluruh daftarnya. Kirim setiap entri yang ingin dipertahankan. Header yang membawa placeholder [redacted] ditolak; kirim nilai asli atau tinggalkan header itu.
Bidang buat lainnyaopsionalname, description, timing, httpMethod, url, authType, bodyTemplate, sampleValues, fallbackMessage, timeoutSeconds, isActive. Nilai yang sama seperti saat membuat.

Tindakan yang ditautkan ke beberapa agen diedit untuk semuanya.

Mengembalikan bidang yang ditulis oleh pembaruan.

Hapus permanen tindakan kustom. Setiap agen yang ditautkan berhenti memanggil API itu.

ParameterTipeDeskripsi
idstring wajibId tindakan yang akan dihapus.

Tidak ada cara untuk memulihkan tindakan yang dihapus. Mendapatkannya kembali berarti membuatnya lagi dari awal, dan list_custom_actions mengembalikan konfigurasinya hanya selama masih ada.

Mengembalikan { id, note }, di mana note mengonfirmasi penghapusan dalam bahasa biasa.

06

Panggilan

Baca riwayat panggilan bisnis, detail satu panggilan, dan transkripnya. Hanya panggilan yang telah selesai yang muncul; panggilan muncul sesaat setelah berakhir.

Daftar dan filter riwayat panggilan, yang terbaru terlebih dahulu. Baris ringkas tanpa transkrip atau ringkasan (gunakan alat di bawah untuk itu).

ParameterTipeDeskripsi
statusesenum[] opsionalFilter berdasarkan hasil, setiap panggilan memiliki tepat satu: test · blocked · spam · hungUp · completed.
querystring opsionalPencarian teks bebas atas ringkasan dan transkrip panggilan.
tagsstring[] opsionalCocokkan panggilan yang membawa salah satu tag ini (berdasarkan nama atau id).
startDatetanggal opsionalYYYY-MM-DD polos = hari kalender di zona waktu bisnis, atau datetime ISO lengkap.
endDatetanggal opsionalSeperti di atas; inklusif.
archivedboolean opsionalKembalikan panggilan yang diarsipkan alih-alih yang aktif. Default false.
offset, limitangka opsionalPenomoran halaman. limit adalah 1–100, default 25.

Mengembalikan baris panggilan (penelepon, waktu, durasi, hasil, tag, kontak tertaut, jumlah giliran transkrip) plus totalCount.

Detail lengkap satu panggilan, semuanya kecuali teks transkrip dan rekaman.

ParameterTipeDeskripsi
callIdstring wajibId panggilan numerik dari list_calls.

Mengembalikan waktu, hasil, nomor penelepon & resepsionis, ringkasan yang ditulis AI, bidang data yang ditangkap, keterampilan yang digunakan agen (dengan kapan masing-masing dipicu), tag, komentar tim Anda, dan jumlah giliran transkrip.

Teks percakapan satu panggilan sebagai giliran terurut, masing-masing dicap dengan offset [mm:ss] dan pembicaranya.

ParameterTipeDeskripsi
callIdstring wajibId panggilan numerik dari list_calls.
offset, limitangka opsionalPenomoran halaman atas giliran. limit adalah 1–200, default 100. Panggilan tipikal muat dalam satu respons; halaman hanya saat catatan mengatakan lebih banyak giliran tersisa.

Pembicara adalah Agen (resepsionis AI), Penelepon (orang yang menelepon), dan Penerima Transfer (manusia yang menerima panggilan dialihkan).

Mengembalikan giliran (offset, pembicara, teks) plus totalCount.

FAQ

Bagaimana cara membuat Upfirst mulai menjawab panggilan saya?

Kami memberi Anda nomor telepon. Anda dapat membagikan nomor itu dan meminta orang meneleponnya langsung, tetapi sebagian besar bisnis meneruskan panggilan ke nomor itu dari saluran yang sudah mereka gunakan.

Anda memilih seberapa banyak yang diteruskan: setiap panggilan, hanya yang Anda lewatkan, atau, tergantung pada telepon, operator, atau sistem VoIP Anda, hanya selama jam tertentu. Langkahnya berbeda untuk setiap penyedia, jadi lihat Teruskan semua panggilan Anda ke Upfirst untuk penyedia Anda.

Apakah saya perlu kunci API?

Tidak. Otorisasi adalah masuk standar OAuth 2.1. Panggilan pertama membuka halaman masuk Upfirst, Anda menyetujui akses sekali, dan tidak ada yang perlu disalin, ditempel, atau disimpan.

Asisten AI mana yang bisa saya gunakan dengan ini?

Klien apa pun yang mendukung server MCP jarak jauh melalui HTTP. Bagian Menghubungkan memiliki pengaturan untuk Claude, ChatGPT, Claude Code, Cursor, VS Code, dan Codex. Untuk yang lain, arahkan ke https://mcp.upfirst.ai sebagai server HTTP streamable dan itu akan menangani masuk pada panggilan pertama.

Apa yang bisa dijangkau asisten saya?

Hanya organisasi tempat Anda masuk. Setiap alat dibatasi pada organisasi itu, dan id dari organisasi lain tidak pernah dapat diakses. Di dalamnya, asisten dapat membaca panggilan dan transkrip serta mengubah pengaturan resepsionis, keterampilan, pengetahuan, dan tindakan kustom, dan memilih resepsionis mana yang menerapkan masing-masing, jadi perlakukan koneksi itu seperti Anda masuk ke dasbor.

Mengapa panggilan yang baru saya terima tidak muncul? Hanya panggilan yang selesai yang muncul, dan sebuah panggilan akan terlihat sesaat setelah berakhir. Panggilan yang sedang berlangsung tidak tersedia sampai panggilan tersebut ditutup. Jika sebuah panggilan masih belum muncul, periksa apakah panggilan tersebut telah diarsipkan, karena list_calls mengembalikan panggilan aktif kecuali Anda memberikan archived: true.

Apa yang tidak bisa saya lakukan melalui MCP?

Suara, zona waktu, dan bahasa; keterampilan penjadwalan; koneksi OAuth untuk tindakan kustom; menghapus keterampilan transfer; dan mengimpor pengetahuan dari situs web semuanya dikelola di dasbor Upfirst. Rekaman panggilan juga tidak tersedia melalui koneksi ini. Alat-alat tersebut menyebutkannya jika berlaku.