Upfirst
resmiUpfirst, küçük işletmeler için yapay zeka telefon resepsiyonistidir. Görüşme dökümlerini inceleyin, ardından AI istemcinizden karşılama, bilgi ve aktarma kurallarını düzeltin.
Upfirst MCP ile neler yapabilirsiniz?
-
Resepsiyonist performansını denetle — Asistanınızdan geçen haftanın çağrılarını incelemesini ve bunları temsilcinin bilgisiyle karşılaştırarak eksikleri tespit etmesini ve yeni eğitim girdileri önermesini isteyin.
-
Açıklamalardan resepsiyonistleri yapılandırın — Asistanınızın, işletmenizin ve çağrı yönetiminizin düz dildeki bir açıklamasını; karşılama mesajları, bilgi, aktarma kuralları ve programlar içeren eksiksiz bir kuruluma dönüştürmesini sağlayın.
-
Yetersiz performans gösteren çağrıları düzeltin — Asistanınızı belirli bir çağrı dökümüne yönlendirin ve istenen sonucu tanımlayın; gelecekteki çağrıları iyileştirmek için hassas bilgi düzenlemeleri önerecektir.
-
Temsilci ayarlarını yönetin — Asistanınıza bir resepsiyonistin karşılama mesajını, veda mesajını, ses tonunu, konuşma hızını veya çağrı engelleme tercihlerini okumasını veya güncellemesini talimat verin.
-
Eğitim içeriği oluşturun ve düzenleyin — Asistanınızdan bir veya daha fazla temsilciye bağlı bilgi girdilerini eklemesini, güncellemesini veya silmesini isteyin; belirli iş saatleri için programlama girdileri dahil.
-
Çağrı aktarma kurallarını ayarlayın — Asistanınızı koşullar, aktarma öncesi mesajlar, hedef numaralar ve haftalık programlarla aktarma becerilerini yapılandırmaya yönlendirin.
Dokümantasyon
Bağlanma
Kurulacak bir şey yok. İstemcinizi https://mcp.upfirst.ai adresine yönlendirin; ilk bağlantıda sizi Upfirst'e giriş yapmaya yönlendirecektir. Yetkilendirme standart bir OAuth 2.1 oturum açma işlemidir; bu nedenle kopyalamanız veya saklamanız gereken API anahtarı yoktur.
Sunucu, akışkan HTTP üzerinden çalışır ve asistanınıza hesabınızı hem okuyabilen hem de değiştirebilen 25 araç sunar. Aşağıdan istemcinizi seçin.
Upfirst, Claude'un bağlayıcı dizinindedir. claude.ai/directory/upfirst adresini açın, Upfirst'i ekleyin, ardından Upfirst'e giriş yapın ve erişimi onaylayın. Claude masaüstü uygulamasında ve claude.ai üzerinde çalışır.
Bunun yerine özel bağlayıcı olarak ekleyin
- Özelleştir'i, ardından Bağlayıcılar'ı açın.
- +'ya, ardından Özel bağlayıcı ekle'ye tıklayın.
- Adını Upfirst olarak verin ve aşağıdaki URL'yi uzak MCP sunucu URL'si olarak yapıştırın.
- Gelişmiş İstemci Kimliği ve İstemci Parolası alanlarını boş bırakın.
- Ekle'ye, ardından Bağlan'a tıklayın, Upfirst'e giriş yapın ve erişimi onaylayın.
https://mcp.upfirst.ai
Team ve Enterprise planlarında bir sahip, bağlayıcıyı Kuruluş ayarları altında bir kez ekler ve diğer herkes Bağlan'a tıklar.
Nasıl bağlanırsanız bağlanın, ilk çağrı Upfirst'in oturum açma sayfasını açar. Erişimi bir kez onaylarsınız ve bağlantı bundan sonra kuruluşunuza bağlı kalır.
Kurallar
Her araçta geçerli olan birkaç kural vardır. Her biri, verilerinize ne yaptığını belirten bir etiket taşır:
- Oku Verileri getirir; hiçbir şeyi değiştirmez.
- Yaz Bir kayıt oluşturur veya günceller.
- Sil Bir kaydı kalıcı olarak kaldırır. Geri alınamaz.
Kimlikler liste araçlarından gelir
Ajan kimlikleri list_agents adresinden, beceri kimlikleri list_agent_skills adresinden, bilgi kimlikleri get_agent_knowledge adresinden, karşılama kimlikleri list_agent_greetings adresinden, özel eylem kimlikleri list_custom_actions adresinden ve çağrı kimlikleri list_calls adresinden gelir. Kimlikler rakam dizeleridir. Beceri araçları kimliği skillId olarak alır; bilgi, karşılama ve özel eylem araçları ise id olarak alır. Güncelleme ve silme araçları yalnızca bu kimliğe ihtiyaç duyar. agentId almazlar.
Kayıtlar ajanlara bağlıdır
Her beceri, bilgi girişi ve özel eylem bir veya daha fazla ajana bağlıdır. Oluşturma araçları, en az bir ajan kimliği içeren bir liste olan agentIds alır. Daha sonra oluşturacağınız her ajana da kaydı vermek için autoLinkNewAgents değerini true olarak ayarlayın. Bu durumda, agentIds mevcut tüm ajanları listelemelidir. Güncelleme araçları, bağlantıları yalnızca hem agentIds hem de autoLinkNewAgents gönderdiğinizde değiştirir. Bağlantıları olduğu gibi tutmak için ikisini de boş bırakın. Bir kaydı düzenlemek veya silmek, bağlı olduğu her ajan için kaydı değiştirir.
Sayfalama
get_agent_knowledge, list_calls ve get_call_transcript, offset ve limit alır ve bir totalCount döndürür; böylece sayfa her zaman aynı filtrelenmiş kümeden çekilir. Diğer liste araçları her şeyi tek bir yanıtta döndürür.
Saat dilimleri
Yalnızca tarihler (YYYY-MM-DD) işletmenin saat diliminde okunur. Haftalık programlar her ajanın kendi saat diliminde okunur; böylece iki saat dilimindeki ajanlara bağlı tek bir giriş, her biri için yerel saatleri takip eder. Tam bir an gerektiğinde tam bir ISO 8601 tarih-saat değeri iletin.
Silme işlemleri kalıcıdır
Bu bağlantı üzerinden geri yükleme yoktur. Silinen bir beceri, bilgi girişi veya özel eylem, bağlı olduğu her ajandan kaldırılır ve bu ajanlar dakikalar içinde onu kullanmayı bırakır.
Bazı ayarlar yalnızca paneldedir
Ses, saat dilimi ve dil; zamanlama becerileri; özel bir eylemin kimlik doğrulaması yaptığı OAuth bağlantıları; bir aktarım becerisini silme; ve web sitesi bilgisi içe aktarma, MCP üzerinden değil Upfirst panelinde yönetilir. Araçlar, geçerli olduğu yerlerde bunu belirtir.
Örnek komutlar
Upfirst MCP sunucusu, uyumlu herhangi bir AI istemcisinden çalışır. Başlamak için bu komutlardan birini istemcinize kopyalayın ve işletmenize uyarlayın.
Resepsiyonistinizin bilgisindeki boşlukları bulun
Kullanım durumu
Bu iş akışını, geçen haftanın çağrılarını gözden geçirmek ve resepsiyonistin bilgisinin nerede yetersiz kaldığını bulmak için kullanın; böylece eğitimine ne ekleyeceğinizi bilirsiniz.
Örnek komut
Bir Upfirst resepsiyonistinin bilgisindeki boşlukları bulmama yardım ediyorsunuz.
Son yedi günün çağrılarını gözden geçirin, ardından resepsiyonistin mevcut bilgisini okuyun. Arayanların iyi yanıtlayamadığı soruları, eksik olan bilgileri ve birden fazla kez gündeme gelen aynı konuyu arayın.
Her boşluk için, onu gösteren çağrılara işaret edin ve resepsiyonistin yanıtlaması gerektiği gibi yazılmış, boşluğu dolduracak belirli bir bilgi girişi önerin. İlgili boşlukları gruplayın ve ne sıklıkla gündeme geldiklerine göre sıralayın.
Hiçbir şeyi değiştirmeyin. Boşlukları ve önerilen girişleri inceleme için sunun.
Resepsiyonist: [Name, or leave blank for all]
Resepsiyonistinizi bir açıklamadan kurun
Kullanım durumu
Bu iş akışını, resepsiyonistinizin çağrıları nasıl ele almasını istediğinizi açıklamak ve asistanınızın kurulumu oluşturmasını sağlamak için kullanın: karşılama, bilgi, aktarım kuralları, programlar ve mesajlaşma becerileri.
Örnek komut
Bir Upfirst AI resepsiyonistini, çağrıları nasıl ele alması gerektiğine dair düz bir açıklamadan yapılandırmama yardım ediyorsunuz.
Açıklamayı eksiksiz bir kuruluma dönüştürün: bir karşılama ve veda, ortak soruları yanıtlamak için gereken bilgi, bir kişiye ulaşması gereken çağrılar için aktarım kuralları, yalnızca belirli saatlerde geçerli olan bilgi veya aktarımlar için programlar ve açıklamanın gerektirdiği mesajlaşma becerileri.
Açıklamanın netleştirmediği önemli bir şey hakkında tahmin yürütmek yerine sorun; örneğin çalışma saatleri, çağrıların kime ulaşması gerektiği veya ortak isteklerin nasıl ele alınacağı gibi.
Bir şey oluşturmadan önce önerilen kurulumun tamamını inceleme için gösterin, ardından onaylandığında uygulayın.
Resepsiyonistin çağrıları nasıl ele alması gerektiği: [Describe your business, your hours, what callers usually need, and who calls should reach]
İyi gitmeyen bir çağrıyı düzeltin
Kullanım durumu
Bu iş akışını, istediğiniz gibi gitmeyen bir çağrıyı belirtmek, neyi tercih edeceğinizi söylemek ve asistanınızın resepsiyonistin bilgisini benzer çağrıların daha iyi gitmesi için ayarlamasını sağlamak için kullanın.
Örnek komut
İyi gitmeyen bir çağrıya dayanarak bir Upfirst resepsiyonistini iyileştirmeme yardım ediyorsunuz.
İşaret ettiğim çağrıyı, dökümü dahil okuyun ve resepsiyonistin yaptıklarını benim olmasını istediğim şeyle karşılaştırın. Sonuca neyin yol açtığını belirleyin: bilgisinde bir şey eksik miydi, belirsiz miydi yoksa başka bir girişle çelişiyor muydu?
Böyle bir çağrının bir dahaki sefere daha iyi gitmesini sağlayacak belirli değişiklikleri, eklenecek veya düzenlenecek kesin bilgi olarak yazın ve her birinin neden yardımcı olduğunu açıklayın.
Değişiklikleri uygulamadan önce inceleme için gösterin, ardından onaylanan düzenlemeleri yapın.
Çağrı: [ID or a short description of the call]
Bunun yerine olmasını istediğim şey: [Describe the outcome you were hoping for]
01
Hesap ve ajanlar
Kendinizi yönlendirin, ardından bireysel bir AI resepsiyonistini okuyun veya güncelleyin.
Buradan başlayın. Tüm hesabın kompakt bir özeti: işletme adı, her resepsiyonistin saat dilimi, karşılama, telefon numaraları, becerileri ve bilgisi ile son 30 günde ele alınan çağrı sayısı.
Parametre yok.
Döndürür İşletme adı · ajanlar (kimlik, ad, saat dilimi, karşılama, telefon numaraları, beceri ve bilgi adları) · son 30 gündeki çağrılar (yalnızca sonuçlanan çağrılar; test ve arşivlenmiş çağrılar sayılmaz).
Kuruluşun AI ajanlarını listeleyin. Aşağıdaki ajana özel araçlarla döndürülen bir kimliği kullanın.
Parametre yok.
Döndürür Her biri kimlik ve ada sahip ajanlar.
Bir ajanın tüm konuşma ayarlarını ve bağlı telefon numaralarını okuyun.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | list_agents adresinden sayısal ajan kimliği. |
Döndürür Karşılama ve veda mesajları, ses tonu, konuşma hızı, bekletme müziği, saat dilimi, spam ve ücretsiz numara engelleme ile bağlı telefon numaraları.
Bir ajanın konuşma ayarlarını değiştirin. Kısmi güncelleme: yalnızca değişenleri gönderin; en az bir ayarlanabilir alan gereklidir.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Güncellenecek ajan. |
greetingMessage | string isteğe bağlı | Açılış mesajı. |
goodbyeMessage | string isteğe bağlı | Kapanış mesajı. |
voiceTone | enum isteğe bağlı | friendly · professional |
speechRate | number isteğe bağlı | 0.7 · 0.85 · 1 · 1.1 · 1.2 |
holdMusic | enum isteğe bağlı | ringTone · gentleGuitar · marimba · softKeys |
isSpamCallsBlocked | boolean isteğe bağlı | Şüpheli spam çağrılarını engelle. |
isTollFreeCallsBlocked | boolean isteğe bağlı | Ücretsiz numara çağrılarını engelle. |
Ses, saat dilimi ve dil panelde yönetilir ve burada değiştirilemez. İki engelleme bayrağı kuruluş genelindedir: birini ayarlamak, paneldekiyle aynı şekilde her aktif ajan için değiştirir. greetingMessage varsayılan karşılamadır. Belirli saatler veya tarihler için karşılamaların Zamanlanmış karşılamalar altında kendi araçları vardır.
Döndürür Güncellenen ajan, get_agent_by_id ile aynı biçimde.
02
Zamanlanmış karşılamalar
Zamanlanmış karşılama, bir resepsiyonistin programının içine düşen çağrılarda ilk söylediği şeydir; örneğin mesai sonrası veya tatil karşılaması gibi. Her biri tek bir ajana aittir. Çağrının zamanıyla eşleşen zamanlanmış karşılama olmadığında, ajan get_agent_by_id ile okunan ve update_agent ile değiştirilen varsayılan karşılamasını kullanır.
Bir ajanın zamanlanmış karşılamalarını, etkin olmayanlar dahil listeleyin. Bir karşılamayı değiştirmeden önce bunu okuyun; böylece görünmeyen bir şeyin üzerine yazılmaz.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Karşılamaları listelenecek ajan. |
Döndürür Her karşılamanın kimliği, text, etkin bayrağı, kind ve schedule. kind salt okunurdur: text, karşılamanın yazıldığı gibi söylendiği anlamına gelir; instruction, ajanın karşılamayı ondan oluşturduğu anlamına gelir; unknown ise henüz sınıflandırılmadığı anlamına gelir.
Bir ajana zamanlanmış karşılama ekleyin. Karşılama yalnızca tüm istek geçerli olduğunda kaydedilir.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Karşılamanın ait olduğu ajan. |
text | string zorunlu | Söylenecek tam sözler veya nasıl karşılama yapılacağına dair bir talimat. |
schedule | object zorunlu | Karşılamanın kullanıldığı zaman, ajanın saat diliminde. Karşılama programları bölümüne bakın. |
isActive | boolean isteğe bağlı | Karşılamanın baştan itibaren çağrılarda kullanılıp kullanılmadığı. Varsayılan true değerindedir. |
Program, aynı ajanın başka bir etkin karşılamasıyla çakışmamalıdır. Haftalık saatler ve tarihler ayrı ayrı kontrol edilir. kind sistem tarafından ayarlanır: bir yazma işleminden hemen sonra unknown okur ve saniyeler içinde sınıflandırılır.
Döndürür Yeni karşılamanın kimliği ve alanları.
Bir zamanlanmış karşılamanın metnini, etkin bayrağını veya programını değiştirin. Kısmi güncelleme: yalnızca değişenleri gönderin; en az bir alan gereklidir.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | list_agent_greetings adresinden karşılama kimliği. |
text | string isteğe bağlı | Yeni karşılama metni. |
isActive | boolean isteğe bağlı | Karşılamanın çağrılarda kullanılıp kullanılmadığı. |
schedule | object isteğe bağlı | Yeni program. Karşılama programları bölümüne bakın. |
Yeni bir program, saklanan programı tamamen değiştirir; bu nedenle önce karşılamayı okuyun ve sahip olmasını istediğiniz programın tamamını geri gönderin. Oluşturmadakiyle aynı çakışma kuralı geçerlidir. Bir metin değişikliği, yeniden sınıflandırılana kadar kind değerini unknown olarak sıfırlar.
Döndürür Güncellemenin yazdığı alanlar.
Bir zamanlanmış karşılamayı kalıcı olarak silin.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | Silinecek karşılama kimliği. |
Silinen bir karşılamayı geri yüklemenin bir yolu yoktur. Zaman aralığındaki çağrılar daha sonra başka bir eşleşen karşılama kullanır veya hiçbiri eşleşmediğinde ajanın varsayılan karşılamasını kullanır.
Bir karşılama mesajının zamanlaması, days içinde haftalık saatleri ve dates içinde isteğe bağlı kesin tarihleri içerir; tümü aracının saat dilimindedir. days, Zamanlamalar ile aynı yapıyı kullanır: yedi günün tamamı, her biri enabled ve workingPeriods ile birlikte. dates içindeki her girdi, YYYY-MM-DD olarak bir date ve periods içinde en az bir zaman aralığı içerir. Bir tarih girdisi, o gün için haftalık saatlerin önüne geçer; tatil karşılama mesajını bu şekilde ayarlarsınız.
{
"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
Beceriler
Beceri, resepsiyonistin bir çağrıda gerçekleştirebileceği bir eylemdir: arayan kişiye mesaj gönderme, randevu bağlantısı gönderme, çağrıyı aktarma, randevu oluşturma veya harici bir API çağrısı yapma. Her türün kendi araçları vardır, bu nedenle ilettiğiniz alanlar her zaman o türün kullandığı alanlardır. Randevu becerileri burada salt okunurdur ve panel üzerinden yönetilir. Bir webhook becerisinin ayarları, bağlı olduğu özel eylemde bulunur; bunları aşağıdaki Özel eylemler araçlarıyla okuyup düzenleyin.
Bir aracı için yapılandırılmış becerileri listeleyin; varsayılan olarak etkin olmayanları da dahil edin.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Becerileri listelenecek aracı. |
llmTool | enum isteğe bağlı | Yalnızca bu türdeki beceriler: sendSms · sendScheduleSms · transferCall · scheduleSlot · customWebhook. |
includeInactive | boolean isteğe bağlı | Kapatılmış becerileri dahil et. Varsayılan true. |
Becerileri döndürür: kimlik, ad, kısa ad, tür, etkinlik işareti, saklanan yapılandırma, isteğe bağlı haftalık zamanlama. Bir customWebhook satırı boş bir yapılandırmaya ve bağlı eylemin URL'sini, HTTP yöntemini ve zamanlamasını içeren bir webhook bloğuna sahiptir; tam yapılandırmasını list_custom_actions ile okuyun.
Bir zamanlama yalnızca aktarma becerileri için çağrılarda dikkate alınır. Diğer türler bir zamanlamayı saklar ancak yok sayar.
Bir mesajlaşma becerisi ekleyin: resepsiyonistin bir çağrı sırasında arayan kişiye gönderebileceği bir SMS. sendSms, mesajı yazıldığı gibi gönderir. sendScheduleSms, mesajı kuruluşun randevu bağlantısıyla birlikte gönderir.
| Parametre | Tür | Açıklama |
|---|---|---|
agentIds | string[] zorunlu | Beceriyi alacak aracılar, en az bir tane. list_agents kimlikleri. |
autoLinkNewAgents | boolean isteğe bağlı | Beceriyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. Varsayılan false. |
llmTool | enum zorunlu | sendSms · sendScheduleSms |
name | string zorunlu | Panelde gösterilen kısa etiket. |
message | string zorunlu | Aracının gönderdiği SMS metni, en fazla 306 karakter. |
instruction | string zorunlu | Aracının bir çağrı sırasında bunu ne zaman göndermesi gerektiği. |
isActive | boolean isteğe bağlı | Baştan itibaren açık. Varsayılan true. |
Mesaj, tanıtım amaçlı veya başka şekilde kısıtlı ifadeleri reddeden bir içerik filtresinden geçer.
Yeni becerinin id kimliğini ve gönderdiğiniz alanları (llmTool, name, message, instruction, isActive) döndürür. Saklanan beceriyi list_agent_skills ile okuyun.
Bir mesajlaşma becerisini değiştirin. Kısmi güncelleme: yalnızca gönderdiğiniz alanlar değişir. En az bir ayarlanabilir alan veya yeni bir aracı kümesi gönderin.
| Parametre | Tür | Açıklama |
|---|---|---|
skillId | string zorunlu | list_agent_skills beceri kimliği. |
llmTool | enum isteğe bağlı | sendSms ve sendScheduleSms arasında geçiş yapın. |
name | string isteğe bağlı | Yeni etiket. |
message | string isteğe bağlı | Yeni SMS metni, en fazla 306 karakter. |
instruction | string isteğe bağlı | Ne zaman gönderileceğine dair yeni yönlendirme. |
isActive | boolean isteğe bağlı | Beceriyi açın veya kapatın. |
agentIds | string[] isteğe bağlı | Beceriyi alacak yeni aracı kümesi. autoLinkNewAgents ile birlikte gönderin veya mevcut bağlantıları korumak için ikisini de boş bırakın. |
autoLinkNewAgents | boolean isteğe bağlı | Beceriyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. |
Güncellemenin yazdığı alanları döndürür.
Bir mesajlaşma becerisini bağlı olduğu her aracıdan kalıcı olarak silin. Bu aracılar artık o mesajı göndermeyi bırakır.
| Parametre | Tür | Açıklama |
|---|---|---|
skillId | string zorunlu | Silinecek beceri kimliği. |
Silinen bir beceriyi geri getirmenin bir yolu yoktur. Geri almak, onu sıfırdan yeniden oluşturmak anlamına gelir.
{ id, note } döndürür; burada note silme işlemini düz metin olarak onaylar.
Bir aktarma becerisi ekleyin: canlı bir çağrıyı bir kişiye devreden kural. condition, aracıya ne zaman aktaracağını söyler, preTransferMessage arayan kişiye önce söylediği şeydir ve destinations sırayla aradığı numaralardır.
| Parametre | Tür | Açıklama |
|---|---|---|
agentIds | string[] zorunlu | Beceriyi alacak aracılar, en az bir tane. list_agents kimlikleri. |
autoLinkNewAgents | boolean isteğe bağlı | Beceriyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. Varsayılan false. |
name | string zorunlu | Panelde gösterilen kısa etiket. |
condition | string zorunlu | Ne zaman aktarılacağı, düz dilde. |
preTransferMessage | string zorunlu | Aracının aktarmadan önce söylediği şey. |
destinations | dizi zorunlu | Sırayla denenir, her biri { phoneNumber, label, phoneExtension } olan bir veya daha fazla hedef. phoneNumber zorunludur ve E.164 olmalıdır (örn. +12025550123). |
ringTimeoutSeconds | sayı isteğe bağlı | Hedef başına çalma süresi, 5–60. |
noAnswerAction | enum isteğe bağlı | endCall · returnToAgent |
transferMethod | enum isteğe bağlı | cold arayanı doğrudan devreder · warm önce hedefi bilgilendirir. |
transferCallerId | enum isteğe bağlı | Hedefin gördüğü numara: upfirstNumber · callerNumber. |
recordingMode | enum isteğe bağlı | agentOnly kaydı aktarımda durdurur · fullCall sonrasında kaydetmeye devam eder. |
isActive | boolean isteğe bağlı | Baştan itibaren açık. Varsayılan true. |
schedule | nesne isteğe bağlı | Becerinin sunulduğu haftalık saatler, aracının saat diliminde. Her zaman kullanılabilir için atlayın. Zamanlamalar bölümüne bakın. |
Her hedef, bağlı aracıların Upfirst numaralarından biriyle aynı ülkede olmalıdır. Atlanırsa, beceri çağrı zamanında panelin varsayılanlarını kullanır: 30 saniyelik çalma, cevapsızda çağrıyı sonlandırma, soğuk aktarma, arayan kimliği olarak Upfirst numarası ve kaydın aktarımda durması.
Yeni becerinin id kimliğini ve gönderdiğiniz alanları döndürür. Saklanan beceriyi list_agent_skills ile okuyun.
Bir aktarma becerisini değiştirin. Kısmi güncelleme: yalnızca gönderdiğiniz alanlar değişir. En az bir ayarlanabilir alan veya yeni bir aracı kümesi gönderin.
| Parametre | Tür | Açıklama |
|---|---|---|
skillId | string zorunlu | list_agent_skills beceri kimliği. |
destinations | dizi isteğe bağlı | Tüm listeyi değiştirir. Saklamak istediğiniz her numarayı gönderin. |
schedule | nesne isteğe bağlı | Saklanan saatleri değiştirir. null zamanlamayı temizler ve beceriyi günün her saati kullanılabilir hale getirir. |
| Diğer oluşturma alanları | isteğe bağlı | name, condition, preTransferMessage, ringTimeoutSeconds, noAnswerAction, transferMethod, transferCallerId, recordingMode, isActive. Oluşturma ile aynı değerler. |
agentIds | string[] isteğe bağlı | Beceriyi alacak yeni aracı kümesi. autoLinkNewAgents ile birlikte gönderin veya mevcut bağlantıları korumak için ikisini de boş bırakın. |
autoLinkNewAgents | boolean isteğe bağlı | Beceriyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. |
Her hedef, bağlı aracıların Upfirst numaralarından biriyle aynı ülkede olmalıdır.
Bir becerinin türü oluşturma sırasında sabittir. Bir randevu veya webhook becerisinin kimliğini iletmek, bulunamadı olarak okunur.
Güncellemenin yazdığı alanları döndürür.
Bunun için bir araç yoktur. Aktarma becerileri Upfirst panelinde silinir. MCP üzerinden bunun yerine bir beceriyi kapatabilirsiniz: update_transfer_call_skill ile isActive: false ayarlayın; aracı, beceri yapılandırılmış durumda kalırken aktarmayı sunmayı bırakır.
04
Bilgi
Bir resepsiyonistin bilgisi, arayanlara verdiği yanıtların kaynağıdır. Upfirst panelinde bu girdiler Eğitim altında bulunur. Her biri yazdığınız metin veya bir web sitesinden içe aktarılan içeriktir. Bir girdi birden fazla aracıya bağlanabilir ve düzenlemek veya silmek, bağlı her aracının verdiği yanıtları değiştirir. Yazma işlemleri resepsiyonisti dakikalar içinde otomatik olarak yeniden eğitir.
Bir aracının bilgi tabanını okuyun. Her girdi, tam içeriğiyle birlikte bütün olarak döndürülür; asla bir önizleme değil.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Bilgisi okunacak aracı. |
id | string isteğe bağlı | Yalnızca bu girdiyi döndür. |
offset | sayı isteğe bağlı | Atlanacak girdiler. Varsayılan 0. |
limit | sayı isteğe bağlı | Maksimum girdi, 1–100. Varsayılan 25. |
Girdileri döndürür: kimlik, ad, tür (metin/web sitesi), etkinlik işareti, tam içerik, kaynak URL ve haftalık zamanlama; ayrıca totalCount.
Bir veya daha fazla resepsiyonistin eğitimine bir metin girdisi ekleyin. Yeni girdi, bağlı her aracının listesinin en üstüne gider.
| Parametre | Tür | Açıklama |
|---|---|---|
agentIds | string[] zorunlu | Girdiyi alacak aracılar, en az bir tane. list_agents kimlikleri. |
autoLinkNewAgents | boolean isteğe bağlı | Girdiyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. Varsayılan false. |
name | string zorunlu | Girdinin görünen adı. |
content | string zorunlu | Düz metin, en fazla 250.000 karakter. |
isActive | boolean isteğe bağlı | Baştan itibaren etkin. Varsayılan true. |
schedule | nesne isteğe bağlı | Girdiyi çalışma saatleriyle sınırlayın. Her zaman etkin için atlayın. Zamanlamalar bölümüne bakın. |
Yeni girdinin id, name, isActive, schedule (her zaman etkin olduğunda null) ve karakter cinsinden contentLength değerlerini döndürür. Tam girdiyi get_agent_knowledge ile okuyun.
Bir girdinin adını, etkinlik işaretini, içeriğini, zamanlamasını veya hangi aracıların gördüğünü değiştirin. Kısmi güncelleme: en az bir ayarlanabilir alan veya yeni bir aracı kümesi gönderin.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | get_agent_knowledge girdi kimliği. |
name, isActive | isteğe bağlı | Yeni ad / etkinlik işareti. |
content | string isteğe bağlı | Saklanan içeriği tamamen değiştiren yeni metin. En fazla 250.000 karakter. |
schedule | nesne isteğe bağlı | Yeni zamanlama. null onu temizler ve girdiyi her zaman kullanılabilir hale getirir; saklananı korumak için atlayın. |
agentIds | string[] isteğe bağlı | Girdiyi alacak yeni aracı kümesi. autoLinkNewAgents ile birlikte gönderin veya mevcut bağlantıları korumak için ikisini de boş bırakın. |
autoLinkNewAgents | boolean isteğe bağlı | Girdiyi daha sonra oluşturulan her aracıya da ver. true olduğunda, agentIds mevcut tüm aracıları listelemelidir. |
İçerik değiştirilir, asla eklenmez. Önce girdiyi get_agent_knowledge ile okuyun ve korumak istediğiniz her şey dahil olmak üzere sahip olmasını istediğiniz tam metni geri gönderin. Düzenleme, girdiye bağlı her aracının söylediklerini değiştirir.
Güncellemenin yazdığı alanları döndürür. Yeni içerik, tam metin olarak değil, contentLength olarak geri gelir.
Bir bilgi girdisini kalıcı olarak silin.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | Silinecek girdi kimliği. |
Silinen bir girdiyi geri getirmenin bir yolu yoktur. Silmek, onu bağlı olduğu her aracıdan kaldırır.
{ id, note } döndürür; burada note silme işlemini düz metin olarak onaylar.
Bir zaman çizelgesi, bir bilgi girişini (veya aktarım becerisini) yalnızca çalışma saatleriyle sınırlandırır ve bu saatler, temsilcinin iş saat diliminde geçerlidir. Haftanın her günü için ayrı bir nesnedir. Gönderdiğiniz her zaman çizelgesi yedi günün tamamını içermelidir; girişin uygulanmaması gereken bir gün, boş bir workingPeriods ile birlikte enabled: false olarak belirtilir. Saatler, temsilcinin saat diliminde 24 saatlik HH:MM biçimindedir.
Zamanlanmış bir giriş, yalnızca bu pencereler sırasında resepsiyonistin bilgisinde bulunur. Pencerelerin dışında, giriş yokmuş gibi davranılır; bu nedenle resepsiyonist, yanlış zamanda bu girişten asla yanıt vermez.
Bu, zaman çizelgelerini zamana özgü bilgileri yönetmek için güvenilir bir yol haline getirir. Açık ve kapalı saatleri hatasız hale getirmek için, açık saatlerinizle sınırlı "Şu anda açığız" yazan bir giriş ve kapalı saatlerinizle sınırlı "Şu anda kapalıyız" yazan ikinci bir giriş ekleyin. Aynı anda yalnızca biri etkin olur, böylece resepsiyonist bunları karıştıramaz.
{
"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
Özel eylemler
Özel eylem, resepsiyonistin harici bir HTTP API'sine yaptığı bir çağrıdır. Ne zaman çalışacağına timing karar verir: before, konuşmadan önce tetiklenir ve yalnızca sistem değişkenlerini kullanabilir; during, çağrı sırasında temsilciye sunulur ve temsilci açıklamaya bakarak çağrıyı yapıp yapmamaya karar verir; after, çağrı sona erdiğinde, her seferinde veya düz dilde bir koşul sağlandığında tetiklenir.
Değişkenler, url, sorgu parametreleri, başlıklar ve gövdeye {{name}} olarak enterpolasyon yapılır. Bir eylem, bir veya daha fazla temsilciye bağlanır ve düzenlenmesi veya silinmesi, bağlı tüm temsilcilerin yaptığı işi değiştirir. list_agent_skills içinde, bir customWebhook becerisi, özel bir eylemin temsilci tarafından görülen görünümüdür. Bir eylemin kimlik doğrulaması yapabileceği OAuth bağlantıları Upfirst panosunda ayarlanır.
Bir temsilcinin kullanabileceği her özel eylem, tüm yapılandırmasıyla birlikte. Bir eylemi yeniden yazmadan önce bunu okuyun; böylece hiçbir şey fark edilmeden üzerine yazılmaz.
| Parametre | Tür | Açıklama |
|---|---|---|
agentId | string zorunlu | Eylemleri listelenecek temsilci. Bu temsilciye bağlı her eylem dahil edilir. |
id | string isteğe bağlı | Yalnızca bu eylemi döndürür. |
Her biri id, agentIds (eylemin bağlı olduğu her temsilci), autoLinkNewAgents, ad, açıklama, zamanlama, HTTP yöntemi, url, kimlik doğrulama türü ve OAuth bağlantı kimliği, yedek mesaj, zaman aşımı, etkinlik bayrağı, değişkenler, sorgu parametreleri, başlıklar, izin verilen çıktı alanları, örnek değerler, gövde şablonu ve sonrası-zamanlama koşulu ile birlikte customActions döndürür.
Adı bir kimlik bilgisine benzeyen bir başlık (token, anahtar, sır, yetkilendirme) [redacted] olarak geri gelir; gerçek değer asla okunmaz. Silinen eylemler atlanır.
Özel bir eylem ekleyin ve bunu bir veya daha fazla temsilciye bağlayın.
| Parametre | Tür | Açıklama |
|---|---|---|
agentIds | string[] zorunlu | Eylemi alan temsilciler, en az bir tane. list_agents kimlikleri. |
autoLinkNewAgents | boolean isteğe bağlı | Eylemi daha sonra oluşturulan her temsilciye de verir. true olduğunda, agentIds mevcut her temsilciyi listelemelidir. Varsayılan false. |
name | string zorunlu | Panoda gösterilen kısa etiket. |
description | string zorunlu | Eylemin ne yaptığı, düz dilde. before ve during zamanlaması, eylemi temsilcinin önüne koyar ve temsilci bu metne bakarak API'yi çağırıp çağırmamaya karar verir. after zamanlaması bunu yok sayar. |
timing | enum zorunlu | before · during · after |
httpMethod | enum zorunlu | GET · POST · PUT · PATCH · DELETE |
url | string zorunlu | İsteğin gittiği uç nokta. {{variable}} yer tutucuları içerebilir. |
authType | enum zorunlu | none isteği kimlik doğrulaması olmadan gönderir · bearer, headers içinde bir Authorization başlığı gerektirir · customHeaders, sağladığınız başlıklar aracılığıyla kimlik doğrular · oauth_connection, bir bağlantıdan bir token çözer ve oauthConnectionId gerektirir. |
fallbackMessage | string zorunlu | İstek başarısız olduğunda veya zaman aşımına uğradığında temsilcinin arayana söylediği şey. |
oauthConnectionId | string isteğe bağlı | Bağlı bir OAuth bağlantısının sayısal kimliği. oauth_connection için gereklidir, diğer tüm kimlik doğrulama türleri için reddedilir. Zaten bir tane kullanan bir eylemdeki list_custom_actions alın. |
variables | dizi isteğe bağlı | İsteğe enterpolasyon yapılan değerler, her biri { name, description, exampleValue, isSystem, required }. name ve description gereklidir ve adlar benzersiz olmalıdır. Sistem değişkenleri Upfirst tarafından çağrının kendisinden doldurulur; özel olanlar arayandan toplanır. Bir before -zamanlamalı eylem yalnızca sistem değişkenlerini kullanabilir. Varsayılan []. |
queryParams | dizi isteğe bağlı | Sorgu dizesi parametreleri, her biri { key, value }. Değerler yer tutucuları kullanabilir. Varsayılan []. |
headers | dizi isteğe bağlı | İstek başlıkları, her biri { key, value }. Taşıyıcı kimlik doğrulaması, tokenini burada bir Authorization başlığında taşır. [redacted] yer tutucusunu asla geri göndermeyin. Varsayılan []. |
allowedOutputFields | string[] isteğe bağlı | Temsilcinin okuyabileceği JSON yanıtının alanları. Boş, yanıtı olduğu gibi geçirir. Varsayılan []. |
bodyTemplate | string isteğe bağlı | Yer tutucular değiştirilerek olduğu gibi gönderilen istek gövdesi. Yoksa boş. |
sampleValues | nesne isteğe bağlı | Eylem denendiğinde kullanılan, değişken adı başına bir değer. |
timeoutSeconds | tamsayı isteğe bağlı | 1–30. Varsayılan 10. |
isActive | boolean isteğe bağlı | Baştan itibaren açık. Varsayılan true. |
condition | string veya null isteğe bağlı | Yalnızca after zamanlaması. Tamamlanan çağrıya karşı kontrol edilen düz dil kuralı; null her çağrıdan sonra tetiklenir. before ve during için boş bırakın. |
Oluşturulan eylemi yeni kimliğiyle döndürür.
Özel bir eylemi değiştirin. Kısmi güncelleme: yalnızca gönderdiğiniz alanlar değişir. En az bir ayarlanabilir alan veya yeni bir temsilci kümesi gönderin. Listeler birleştirilmez, tamamen değiştirilir; bu nedenle önce eylemi list_custom_actions ile okuyun.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | list_custom_actions eylem kimliği. |
agentIds | string[] isteğe bağlı | Eylemi alan yeni temsilci kümesi. autoLinkNewAgents ile birlikte gönderin veya mevcut bağlantıları korumak için ikisini de boş bırakın. |
autoLinkNewAgents | boolean isteğe bağlı | Eylemi daha sonra oluşturulan her temsilciye de verir. true olduğunda, agentIds mevcut her temsilciyi listelemelidir. |
oauthConnectionId | string veya null isteğe bağlı | null onu temizler. Eylemi oauth_connection kimlik doğrulama türünden taşıyan aynı çağrıda null gönderin. |
condition | string veya null isteğe bağlı | null onu temizler. Eylemi after zamanlamasından taşıyan aynı çağrıda null gönderin. |
variables, queryParams, headers, allowedOutputFields | dizi isteğe bağlı | Her biri kendi listesinin tamamını değiştirir. Saklamak istediğiniz her girdiyi gönderin. [redacted] yer tutucusunu taşıyan bir başlık reddedilir; gerçek değeri gönderin veya o başlığı atlayın. |
| Diğer oluşturma alanları | isteğe bağlı | name, description, timing, httpMethod, url, authType, bodyTemplate, sampleValues, fallbackMessage, timeoutSeconds, isActive. Oluşturma ile aynı değerler. |
Birden çok temsilciye bağlı bir eylem, tümü için düzenlenir.
Güncellemenin yazdığı alanları döndürür.
Özel bir eylemi kalıcı olarak silin. Ona bağlı her temsilci bu API'yi çağırmayı bırakır.
| Parametre | Tür | Açıklama |
|---|---|---|
id | string zorunlu | Silinecek eylem kimliği. |
Silinen bir eylemi geri yüklemenin bir yolu yoktur. Geri almak, onu sıfırdan yeniden oluşturmak anlamına gelir ve list_custom_actions, yapılandırmasını yalnızca hâlâ var olduğu sürece döndürür.
note'un silme işlemini düz dilde doğruladığı { id, note } döndürür.
06
Çağrılar
İşletmenin çağrı geçmişini, tek bir çağrının ayrıntılarını ve dökümünü okuyun. Yalnızca tamamlanmış çağrılar görünür; bir çağrı, bittikten kısa bir süre sonra ortaya çıkar.
Çağrı geçmişini listeleyin ve filtreleyin, en yenisi en üstte. Döküm veya özet içermeyen kompakt satırlar (bunlar için aşağıdaki araçları kullanın).
| Parametre | Tür | Açıklama |
|---|---|---|
statuses | enum[] isteğe bağlı | Sonuca göre filtreleyin, her çağrının tam olarak bir tane vardır: test · blocked · spam · hungUp · completed. |
query | string isteğe bağlı | Çağrı özetleri ve dökümleri üzerinde serbest metin araması. |
tags | string[] isteğe bağlı | Bu etiketlerden herhangi birini taşıyan çağrıları eşleştirin (ada veya kimliğe göre). |
startDate | tarih isteğe bağlı | Yalın YYYY-MM-DD = iş saat diliminde takvim günü veya tam bir ISO tarih-saat değeri. |
endDate | tarih isteğe bağlı | Yukarıdaki gibi; kapsayıcı. |
archived | boolean isteğe bağlı | Etkin çağrılar yerine arşivlenmiş çağrıları döndürür. Varsayılan false. |
offset, limit | sayı isteğe bağlı | Sayfalama. limit 1–100'dür, varsayılan 25. |
Çağrı satırlarını (arayan, saat, süre, sonuç, etiketler, bağlantılı kişi, döküm dönüş sayısı) artı totalCount döndürür.
Tek bir çağrının tam ayrıntıları, döküm metni ve kayıt dışında her şey.
| Parametre | Tür | Açıklama |
|---|---|---|
callId | string zorunlu | list_calls sayısal çağrı kimliği. |
Zamanlama, sonuç, arayan ve resepsiyonist numaraları, AI tarafından yazılan özet, yakalanan veri alanları, temsilcinin kullandığı beceriler (her birinin ne zaman tetiklendiğiyle birlikte), etiketler, ekibinizin yorumları ve döküm dönüş sayısını döndürür.
Tek bir çağrının konuşma metni, her biri bir [mm:ss] uzaklığı ve konuşmacısıyla damgalanmış sıralı dönüşler olarak.
| Parametre | Tür | Açıklama |
|---|---|---|
callId | string zorunlu | list_calls sayısal çağrı kimliği. |
offset, limit | sayı isteğe bağlı | Dönüşler üzerinde sayfalama. limit 1–200'dür, varsayılan 100. Tipik bir çağrı tek bir yanıta sığar; yalnızca not daha fazla dönüş kaldığını söylediğinde sayfalayın. |
Konuşmacılar Temsilci (AI resepsiyonist), Arayan (arayan kişi) ve Devredilen Kişi'dir (çağrının iletildiği bir insan).
Dönüşleri (uzaklık, konuşmacı, metin) artı totalCount döndürür.
SSS
Upfirst'in çağrılarımı yanıtlamaya başlamasını nasıl sağlarım?
Size bir telefon numarası veriyoruz. Bu numarayı dağıtabilir ve insanların doğrudan aramasını sağlayabilirsiniz, ancak çoğu işletme çağrıları hâlihazırda kullandıkları hattan bu numaraya yönlendirir.
Ne kadar yönlendireceğinizi siz seçersiniz: her çağrı, yalnızca kaçırdıklarınız veya telefonunuza, operatörünüze veya VoIP sisteminize bağlı olarak yalnızca belirli saatlerde. Adımlar her sağlayıcı için farklıdır; sizinki için Tüm çağrılarınızı Upfirst'e yönlendirin bölümüne bakın.
API anahtarına ihtiyacım var mı?
Hayır. Yetkilendirme standart bir OAuth 2.1 oturum açmadır. İlk çağrı Upfirst'in oturum açma sayfasını açar, erişimi bir kez onaylarsınız ve kopyalayacak, yapıştıracak veya saklayacak bir şey yoktur.
Bunu hangi AI asistanlarıyla kullanabilirim?
HTTP üzerinden uzak MCP sunucularını destekleyen herhangi bir istemci. Bağlanma bölümünde Claude, ChatGPT, Claude Code, Cursor, VS Code ve Codex için kurulum vardır. Başka herhangi bir şey için, onu akışkan bir HTTP sunucusu olarak https://mcp.upfirst.ai adresine yönlendirin; ilk çağrıda oturum açmayı o halleder.
Asistanım neye erişebilir?
Yalnızca oturum açtığınız kuruluşa. Her araç bu kuruluşla sınırlıdır ve başka herhangi bir kuruluştan gelen kimliklere asla erişilemez. Kuruluş içinde asistan, çağrıları ve dökümleri okuyabilir ve resepsiyonist ayarlarını, becerileri, bilgiyi ve özel eylemleri değiştirebilir ve her birinin hangi resepsiyonistlere uygulanacağını seçebilir; bu nedenle bağlantıya, panoda oturum açmış gibi davranın.
Az önce aldığım bir çağrı neden görünmüyor?
Yalnızca tamamlanmış aramalar görünür ve bir arama bittiğinde kısa süre içinde listelenir. Devam eden aramalar, kapatılana kadar kullanılamaz. Bir arama hâlâ eksikse, arşivlenip arşivlenmediğini kontrol edin; çünkü list_calls yalnızca aktif aramaları döndürür, archived: true parametresini geçmediğiniz sürece.
MCP üzerinden neler yapamam?
Ses, saat dilimi ve dil; zamanlama becerileri; özel eylemler için OAuth bağlantıları; bir aktarım becerisini silme; ve bir web sitesinden bilgi içe aktarma işlemlerinin tümü Upfirst panelinde yönetilir. Arama kayıtları da bu bağlantı üzerinden kullanılamaz. Araçlar, geçerli olduğu yerlerde bunu belirtir.