Eylemler ve Araçlar
Eylemler sekmesi, ajanınızın görüşme dışında yapabileceği her şeyi yönettiğiniz yerdir — ajanın canlı bir görüşme sırasında çağırdığı araçlar, çağrı başlamadan önce çalışan önceden getirme kancaları ve çağrı bittiğinde tetiklenen çağrı sonrası eylemler. Veri Alma Değişkenleri (ajanın her görüşmeden çıkardığı veri alanları) da aynı sekmede bulunur.
Tüm araçlar, eylemler ve yeni önceden getirme kancası Free dahil her planda kullanılabilir.
Üç Aşama
Eylemler sekmesindeki her giriş, üç yaşam döngüsü aşamasından birine aittir. Araç Ekle açılır menüsü, her şeyin ne zaman tetiklendiğini netleştirmek için bunları gruplandırır:
| Aşama | Ne zaman | Örnekler |
|---|---|---|
| Önceden getirme | Ajan merhaba demeden önce | Arayanı telefonla CRM'inizde arayın, en son siparişi çekin, arka ucunuzdan kişiselleştirilmiş bir karşılama getirin |
| Canlı çağrı | Görüşme sırasında, doğru an geldiğinde AI tarafından tetiklenir | Çağrıyı bir insana yönlendirin, takvim müsaitliğini kontrol edin, başka bir ajana aktarın, veri için harici bir API'yi sorgulayın |
| Çağrı sonrası | Çağrı bittikten sonra | Özet e-postası gönderin, SMS onayı tetikleyin, çağrı yükünü CRM'inize gönderin |
Açılır menü, en üstte Önceden getirme ile açılır çünkü diğer her aşamanın zaten bol seçeneği vardır — yeni önceden getirme girişi, büyük olasılıkla aradığınız şeydir.
Önceden getirme
Önceden getirme kancaları, ajanınızın kimin aradığını çağrının başında zaten bilerek başlamasını sağlar. Çağrı kurulumuyla paralel çalışır ve ilk kelime söylenmeden önce yanıtı ajanın sistem prompt'una enjekte eder.
Ne zaman kullanılır
- Bir geri dönen müşteriyi telefon numarasından tanıyıp adıyla karşılayın
- Arayanın açık siparişini, son randevusunu veya üyelik seviyesini çekin
- Hangi hattın çevrildiğine bağlı olan işletme bağlamını önceden yükleyin
- Ajanın potansiyel müşterinin aşamasını ve geçmişini bilmesi için CRM notlarını enjekte edin
Nasıl çalışır
- Platform, arayanın telefonunu çözer (gelen için SIP'ten, giden için çevrilen hedeften).
- Her etkin Önceden getirme eylemi, istek başına sabit 1,5 sn zaman aşımı ve 2 sn genel bütçeyle paralel olarak tetiklenir.
- Başarılı yanıtlar, adlandırılmış bloklar olarak ajanın sistem prompt'una birleştirilir — ajan bunları ilk turunda okur.
- Hatalar sessizdir — yavaş veya bozuk bir uç nokta asla karşılamayı engellemez. Ajan sadece o blok olmadan konuşmaya başlar.
Yapılandırma
| Alan | Açıklama |
|---|---|
| Ad | Zorunlu. Dahili etiket ve prompt'taki blok adı — kısa ve açıklayıcı tutun (ör. crm_lookup, vip_check). |
| API URL | Zorunlu. Getirilecek uç nokta. {phone}, {direction}, {agent_id}, {user_id}, {call_id} yer tutucularını destekler. |
| HTTP Metodu | GET varsayılan ve en uygun seçenektir. POST / PUT / PATCH / DELETE da çalışır. |
| Başlıklar | İsteğe bağlı. Statik veya şablonlu (yer tutucular burada da çalışır). |
| Sorgu Parametreleri | İsteğe bağlı. Yeni önceden getirme eylemleri için phone={phone} ile önceden doldurulur. |
Kullanılabilir değişkenler
Bu belirteçler, istek anında URL, başlıklar ve sorgu/gövde parametrelerine yerleştirilir:
| Değişken | Kaynak | Örnek değer |
|---|---|---|
{phone} | Arayanın telefonu (E.164) — giden için hedef numara | +431234567890 |
{direction} | inbound veya outbound | inbound |
{agent_id} | Dahili ajan kimliği | 65f1a2b3c4... |
{user_id} | Çalışma alanı sahibi kimliği | 65e0b1c2d3... |
{call_id} | Çağrı kimliği (arka ucunuzun daha sonra çağrı sonrası yükü ilişkilendirmesini sağlar) | 65f1f2c4d5... |
Bilinmeyen yer tutucular olduğu gibi bırakılır — hatalı şablonlama asla bir çağrıyı çökertmez.
Prompt'a ne düşer
https://crm.example.com/lookup?phone={phone} adresindeki uç noktanız şunu döndürürse:
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
Ajanın sistem prompt'una, eylemin adını taşıyan XML ile sarılmış bir blok eklenir:
<call_context>
<block name="crm_lookup">
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
</block>
</call_context>
Ajana bunu nasıl kullanacağını söylemeniz gerekmez — LLM bağlamı doğal olarak kavrar. İsteğe bağlı olarak, önceden getirmeden sistem prompt'unuzda söz edin: "If <call_context> contains a customer name, greet them by name."
Önemli kısıtlamalar
- Yalnızca telefon çağrıları. Önceden getirme, widget (web) çağrıları için çalışmaz — şablonlanacak bir telefon numarası yoktur.
- Yanıt gövdesinde 8 KB üst sınırı — bundan uzun her şey enjeksiyondan önce kesilir. Üst sınır, prompt token bütçenizi korur ve kötü niyetli bir uç noktanın etki alanını sınırlar.
conditiondeğerlendirmesi yok — önceden getirme etkin olduğunda her zaman tetiklenir. Henüz değerlendirilecek bir yazıya dökme yoktur.
Telefon anahtarlı bir arama uç noktasıyla GET kullanın. Yanıtları küçük ve yapılandırılmış tutun (3-5 alanlı JSON nesnesi). Ajanın tüm müşteri kaydınıza ihtiyacı yoktur — yalnızca görüşmeyi değiştiren kısımlara.
Canlı Çağrı Araçları
Bunlar görüşme sırasında çalışır. AI, açıklamasına ve mevcut diyaloğa dayanarak her aracı ne zaman çağıracağına karar verir.
Kullanılabilir Araçlar
| Araç | Amaç | Ne zaman kullanılır |
|---|---|---|
| Çağrı Yönlendirme | Bir insan operatöre aktarın | Müşteri bir kişi ister, karmaşık sorunlar |
| Google Calendar | Müsaitliği kontrol edin ve randevu alın | Müşteri bir toplantı planlamak ister |
| Outlook Calendar | Aynısı, Microsoft Outlook üzerinden | Müşteri bir toplantı planlamak ister |
| API Tool RAG | Harici bir API'den canlı veri getirin | Gerçek zamanlı bilgi gerekiyor (siparişler, stok, hesap durumu) |
| Ajan Aktarımı | Başka bir sesli ajana aktarın | Arayanın farklı bir departmana veya uzmana ihtiyacı var |
| HubSpot CRM | HubSpot'ta kişileri ve anlaşmaları okuyun/yazın | Çağrıyı HubSpot'a kaydetme, bir potansiyel müşteriyi arama |
| MCP sunucuları | Kayıtlı MCP sunucularınızdan herhangi birinin araçlarını sunun | MCP uyumlu bir araç sunucusu çalıştırıyorsunuz ve ajanın araçlarını görüşme ortasında kullanmasını istiyorsunuz |
Çağrı Yönlendirme
Belirli koşullar sağlandığında çağrıları bir insana aktarın.
| Ayar | Açıklama | Örnek |
|---|---|---|
| Ad | Zorunlu. Kişi veya departman adı | "Sales Manager" |
| Yönlendirme Numarası | Aktarılacak varsayılan telefon numarası | "+49 123 456 789" |
| Tetikleyici Koşul | Ajanın ne zaman aktarması gerektiği | "Customer asks for manager or issue cannot be resolved" |
| Koşullu Yönlendirme Numaraları | Yönlendirme için koşul-numara eşlemesi | {"billing": "+49 111 222", "technical": "+49 333 444"} |
Nasıl çalışır:
- Görüşme sırasında AI, Tetikleyici Koşul'u değerlendirir.
- Koşullu yönlendirme numaraları ayarlanmışsa, eşleşen koşul hangi numaranın aranacağını belirler.
- Aksi takdirde, Yönlendirme Numarası kullanılır.
- Ajan, arayanı aktarım hakkında bilgilendirir.
- Çağrı yönlendirilir — yanıt yoksa ajana geri döner.
Farklı departmanlar için birden fazla Çağrı Yönlendirme aracı ekleyebilirsiniz — biri "Satış" için, diğeri farklı koşullar ve numaralarla "Teknik Destek" için.
Google Calendar
Ajanın çağrılar sırasında müsaitliği kontrol edip randevu alması için Google Calendar'ınızı bağlayın.
Kurulum:
- Entegrasyon → Takvimler bölümüne gidin ve önce Google hesabınızı bağlayın.
- Ajanın Eylemler sekmesinde Google Calendar aracını ekleyin.
- Kullanılacak takvimi seçin.
- Müsaitlik ayarlarınızı yapılandırın.
| Ayar | Açıklama | Varsayılan |
|---|---|---|
| Takvim | Zorunlu. Hangi takvimin kullanılacağı | Birincil takviminiz |
| Saat dilimi | Randevular için saat dilimi (IANA biçimi) | Otomatik algılanır |
| Çalışma Başlangıç Saati | Çalışma saatlerinin başlangıcı | 9:00 |
| Çalışma Bitiş Saati | Çalışma saatlerinin bitişi | 18:00 |
| Zaman dilimi süresi | Dakika cinsinden randevu uzunluğu | 30 |
| Çalışma Günleri | Haftanın uygun günleri | Pazartesi–Cuma |
| Randevular Arası Tampon | Randevular arasındaki tampon (0–60 dk) | 0 |
Desteklenen zaman dilimi süreleri: 15, 30, 45, 60, 75, 90, 105, 120 dakika.
Çalışma saatlerinizi ve günlerinizi doğru ayarlayın — ajan yalnızca yapılandırdığınız müsaitlik içindeki zaman dilimlerini sunar.
Outlook Calendar
Çağrılar sırasında randevu planlamak için Outlook Takviminizi bağlayın. Google Calendar ile aynı şekilde çalışır.
Kurulum:
- Entegrasyon → Takvimler bölümüne gidin ve önce Outlook hesabınızı bağlayın.
- Ajanın Eylemler sekmesinde Outlook Calendar aracını ekleyin.
- Kullanılacak takvimi seçin.
- Müsaitlik ayarlarınızı yapılandırın.
Ayarlar Google Calendar ile aynıdır (saat dilimi, çalışma saatleri, zaman dilimi süresi, çalışma günleri, tampon).
Ajan Aktarımı
Bir çağrıyı hesabınızdaki başka bir sesli ajana aktarın. Farklı departmanlar için uzmanlaşmış ajanlarınız olduğunda kullanışlıdır.
| Ayar | Açıklama |
|---|---|
| Hedef Ajan | Zorunlu. Aktarılacak ajanı seçin |
| Tetikleyici Koşul | Ne zaman aktarılacağı (ör. "Arayan teknik destek hakkında soruyor") |
Örnek: Bir resepsiyonist ajan, fiyatlandırma sorulduğunda arayanları bir satış ajanına, teknik bir sorunları olduğunda ise bir destek ajanına aktarır.
HubSpot CRM
Görüşme sırasında HubSpot CRM'inize okuyun ve yazın. Ajanın API çağrılarını komut dosyasına yazmak zorunda kalmadan etkileşimleri kaydetmesine, telefonla bir kişiyi aramasına veya anlaşma güncellemelerini göndermesine olanak tanır.
Kurulum:
- Entegrasyonlar sayfasına gidin ve HubSpot hesabınızı bağlayın.
- Ajanın Eylemler sekmesinde HubSpot CRM aracını ekleyin.
- Ajanın hangi iş hattına ve özelliklere dokunmasına izin verileceğini seçin.
Araç eklendikten sonra, AI arayanı telefonla bir HubSpot kişisiyle eşleştirebilir, anlaşma aşamasını getirebilir ve alanları güncelleyebilir — tümü canlı görüşmeden.
MCP sunucuları
Hanc.AI'ye bağladığınız herhangi bir MCP uyumlu sunucunun araçlarını sunun. Bir ajan birden fazla MCP sunucusundan çekebilir; bir MCP sunucusu birden fazla ajana hizmet verebilir.
Kurulum:
- MCP sunucularınızı Entegrasyon → MCP sunucuları altında bir kez bağlayın. Tam kayıt adımları için özel MCP Sunucuları sayfasına bakın.
- Bu ajanın Eylemler sekmesine MCP sunucuları girişini ekleyin — Eylem Ekle açılır menüsünde Canlı çağrı altında gruplandırılmıştır.
- Bu ajanın hangi kayıtlı bağlantılarınıza erişimi olması gerektiğini açın.
- Ajanın bu araçlara ne zaman başvuracağını bilmesi için kısa bir "Ne zaman kullanılır" talimatı ekleyin.
Ajan, araç kümesini her çağrının başında etkin her MCP sunucusundan yeniden keşfeder; böylece sunucu tarafında yaptığınız değişiklikler bir sonraki çağrıda otomatik olarak görünür. Araçlar, farklı sunuculardan gelen benzer adlı araçların çakışmaması için bağlantı etiketi bir önek olarak eklenerek yeniden adlandırılır.
API Tool RAG
Çağrılar sırasında gerçek zamanlı bilgi getirmek için harici API'lere bağlanın — siparişleri arayın, envanteri kontrol edin, hesapları doğrulayın veya API aracılığıyla mevcut herhangi bir veriye erişin.
| Ayar | Açıklama | Örnek |
|---|---|---|
| Ad | Zorunlu. Araç adı | "Order Lookup" |
| Açıklama / Ne Zaman Kullanılır | Zorunlu. API'nin ne zaman sorgulanacağı | "Customer asks about order status" |
| API URL | Zorunlu. API uç noktası. Gövde Parametreleri Şeması'ndan (aşağıya bakın) değerlerle değiştirilecek {placeholder} belirteçlerini içerebilir. | "https://api.yourshop.com/orders/{order_id}" |
| HTTP Metodu | Zorunlu. HTTP metodu | GET, POST, PUT, DELETE, PATCH |
| Yükleme Mesajı | Beklerken ajanın söyledikleri | "Let me check that for you..." |
| Zaman Aşımı | Maksimum bekleme süresi (ms) | 5000 (varsayılan) |
| Başlıklar | Her istekle gönderilen statik HTTP başlıkları | {"Authorization": "Bearer KEY"} |
| Sorgu Parametreleri | Her isteğe eklenen statik sorgu dizesi parametreleri | {"apiVersion": "v2"} |
| Gövde Parametreleri Şeması | Zorunlu. AI'ın görüşmeden çıkarıp araca aktarması gereken argümanları açıklayan JSON Şeması. Bkz. Gövde Parametreleri Şemasını Yazma. | JSON Şeması nesnesi |
Her zaman bir Yükleme Mesajı ayarlayın — API çağrıları sırasındaki sessizlik arayana bozuk gibi gelir.
API Tool RAG'daki eski "Çağrı başında çalıştır" onay kutusu, özel Önceden getirme girişiyle değiştirildi. Veriyi görüşme başlamadan önce istediğinizde Önceden getirmeyi kullanın; ajanın görüşme sırasında getirip getirmeyeceğine karar vermesini istediğinizde API Tool RAG'ı kullanın.
Gövde Parametreleri Şemasını Yazma
Adına rağmen, Gövde Parametreleri Şeması ham bir istek gövdesi değildir. AI'ın görüşmeden ne çıkarıp aracınıza aktarması gerektiğini açıklayan bir JSON Şeması'dır. HTTP metoduna ve URL şablonuna bağlı olarak, bu değerler URL'de, sorgu dizesinde veya JSON gövdesinde son bulur:
| HTTP metodu | Çıkarılan değerlerin nereye gittiği |
|---|---|
URL {name} içerir | Eşleşen değer URL'ye yerleştirilir |
GET, DELETE | Kalan değerler URL'ye ?key=value olarak eklenir |
POST, PUT, PATCH | Kalan değerler JSON gövdesi olarak gönderilir |
Minimal yapı
{
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "What this value is and how the AI should pick it"
}
},
"required": ["param_name"]
}
Kök type her zaman "object"'tir. properties her argümanı listeler. required, AI'ın her zaman sağlaması gerekenleri işaretler — müşteri henüz söylemediyse, AI aracı çağırmadan önce sorar.
Alan referansı
| Alan | Amaç |
|---|---|
type | Değerin JSON türü: "string", "number", "integer", "boolean", "array", "object" |
description | En önemlisi. AI'a değerin ne anlama geldiğini, hangi biçimin kullanılacağını ve ne zaman sağlanacağını söyler. Mümkün olduğunda örnekler ekleyin. |
enum | Değeri sabit bir listeden birine kısıtlar. AI, doğal konuşmayı en yakın seçeneğe eşler (ör. "the blue one" → "blue"). |
minimum, maximum | Sayısal sınırlar. AI, aralık dışı değerleri reddeder/kırpar. |
default | AI bu alanı geçirmediğinde kullanılan değer. Zorunlu değildir ama örtük değeri belgeler. |
format | Doğrulama ipucu, ör. "email", "date" (YYYY-MM-DD), "uri". |
Örnekler
Ürün araması (yalnızca anahtar sözcük):
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Product search keyword — e.g. \"phone\", \"laptop\", \"Apple\", \"Samsung\""
}
},
"required": ["query"]
}
https://dummyjson.com/products/search?q={query}&limit=5 URL'si ve GET ile kullanılır: query değeri URL yer tutucusuna gider. Gövdede hiçbir şey son bulmaz.
Kimliğe göre sipariş arama:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID the customer is asking about, usually 6 to 10 digits. Ask the customer if not provided."
}
},
"required": ["order_id"]
}
https://api.example.com/orders/{order_id} URL'si ve GET ile kullanılır.
Birden fazla zorunlu alanla rezervasyon:
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Product ID returned by a previous search_products call."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "How many items to reserve. Default 1."
},
"delivery_method": {
"type": "string",
"enum": ["pickup", "home_delivery", "locker"],
"description": "How the customer wants to receive the item."
},
"customer_email": {
"type": "string",
"format": "email",
"description": "Customer's email for order confirmation. Ask if not provided."
}
},
"required": ["product_id", "delivery_method", "customer_email"]
}
POST https://api.example.com/reservations ile kullanılır: dört değer JSON gövdesine gider. AI, aracı çağırmadan önce eksik required alanları için müşteriye sorar.
Parametresiz araç:
{
"type": "object",
"properties": {}
}
Uç nokta tamamen statik olduğunda (ör. GET /store/hours) ve AI'ın hiçbir şey geçirmesine gerek olmadığında bunu kullanın.
Sesli ajanlar için en iyi uygulamalar
- Şemayı düz tutun. İç içe nesneler ve diziler çalışır ama AI telefonda konuşurken kayabilir. En fazla 3–5 üst düzey alanı tercih edin.
- Her alan için her zaman bir
descriptionyazın. Örnekler ekleyin (ör. "phone", "laptop") — örnekler, AI'a soyut tanımlardan daha güvenilir rehberlik eder. - Sabit bir değer listeniz olduğunda her zaman
enumkullanın. AI'ın değer uydurma veya"electronics"yerine"Electronics"gönderme riskini ortadan kaldırır. - Bir alanı yalnızca araç onsuz çalışamıyorsa
requiredişaretleyin. Diğer her şey isteğe bağlıdır ve müşteri söz etmediğinde AI onu atlar — garip ekstra sorular olmaz. snake_caseadları kullanın ve URL'deki{placeholder}belirteçleriyle tam olarak eşleştirin.- Eksik değerler için davranışı
descriptioniçinde belgeleyin — ör."Omit if no budget limit","Default 5".
Canlı Mesajlaşma Eylemleri
(v2.4) Canlı SMS gönder ve Canlı E-posta gönder, ajanın çağrının bitmesinden sonra değil, hâlâ arayanla konuşurken — çağrı sonrası karşılıkları gibi değil — çağrı ortasında bir metin veya e-posta göndermesine olanak tanır. Arayanın telefonu kapatmadan önce üzerinde işlem yapabileceği bir bağlantı, rezervasyon onayı, kod veya özet göndermek için bunları kullanın.
AI, bu eylemleri o anda, eylemin açıklamasına ve görüşmeye dayanarak kendisi tetikler — herhangi bir canlı aracı çağırmaya karar verdiği şekilde.
| Eylem | Tetiklenme | Gönderilen |
|---|---|---|
| Canlı SMS gönder | Çağrı sırasında | Arayanın telefon numarası |
| Canlı E-posta gönder | Çağrı sırasında | Arayanın e-postası |
Çağrı başına gönderim üst sınırı
Her kanal, çağrı başına kanal başına 3 gönderim ile sınırlıdır. Bir ajan, tek bir çağrıda en fazla üç canlı SMS ve en fazla üç canlı e-posta gönderebilir; bir kanaldaki dördüncü gönderim reddedilir. Bu, konuşkan veya döngüye giren bir görüşmenin arayana spam göndermesini önler.
Reddetme matrisi
Bir canlı gönderim şu durumlarda reddedilir (ve ajana nedeni söylenir; böylece zarifçe kurtarabilir):
| Koşul | Sonuç |
|---|---|
| Geçersiz veya eksik e-posta (Canlı E-posta gönder için) | Reddedildi — ajan arayandan e-postasını onaylamasını ister |
| Geçersiz veya eksik telefon (Canlı SMS gönder için) | Reddedildi — ajan arayandan numarasını onaylamasını ister |
| 160 karakterden uzun gövde | Reddedildi — mesaj olduğu gibi göndermek için çok uzun |
| Kanal üst sınırına ulaşıldı (bu çağrıda zaten 3 gönderim) | Reddedildi — o kanalda başka gönderim yok |
Ajan reddetme nedenini geri aldığı için, sorunu görüşmede düzeltebilir ("O e-postayı benim için heceleyebilir misiniz?") ve sessizce başarısız olmak yerine tekrar deneyebilir.
CRM zaman çizelgesi kaydı
Her canlı gönderim, kişinin CRM zaman çizelgesine kaydedilir; böylece ajanın çağrı ortasında gönderdiği mesaj, çağrı kaydının yanında görünür — tam olarak neyin, hangi kanala ve ne zaman gönderildiğini görebilirsiniz.
Akıllı form-kanal zincirleme
Bir web araması, widget formunu yalnızca bazı iletişim ayrıntılarıyla gönderdiğinde, ajan yalnızca gerçekten sahip olduğu kanalı kullanır:
- Arayan yalnızca bir e-posta gönderir → ajan Canlı E-posta gönder'i tetikler (asla SMS değil).
- Arayan yalnızca bir telefon gönderir → ajan Canlı SMS gönder'i tetikler (asla e-posta değil).
- Arayan her ikisini gönderir → ajan, görüşmenin gerektirdiği şekilde her iki kanalı da kullanabilir.
Bu, ajanın yalnızca e-posta veren bir arayana asla mesaj atmaya veya yalnızca numara veren birine e-posta göndermeye çalışmaması anlamına gelir — mevcut form verileri, hangi canlı eylemin masada olduğunu belirler.
Çağrı Sonrası Eylemler
Çağrı sonrası eylemler, çağrı sona erdikten ve analiz zinciri özet, duygu durumu ve çıkarılan değişkenleri ürettikten sonra tetiklenir. Çağrı verilerini tüketirler — müşteriyle konuşmazlar.
Kullanılabilir Eylemler
| Eylem | Amaç |
|---|---|
| E-posta Gönder | Ekibinize veya müşteriye yapılandırılmış bir özet e-postalayın |
| SMS Gönder | Arayana metin onayı |
| WhatsApp Gönder | WhatsApp mesajı veya şablonu (24 saatlik pencerenin içinde ve dışında çalışır) |
| API Çağrısı | Tam çağrı yükünü harici bir API'ye gönderin (CRM, web kancası, veri ambarınız) |
E-posta Gönder
| Ayar | Açıklama |
|---|---|
| Ad | Zorunlu. Eylem tanımlayıcısı |
| Konu | Zorunlu. E-posta konu satırı |
| Mesaj Gövdesi | Zorunlu. E-posta gövdesi — veri alma değişkenleri içerebilir |
| Tetikleyici Koşul | Ne zaman gönderileceği (boş = her zaman) |
| Alıcılar | Zorunlu. E-postayı her zaman alan e-posta adresleri |
| Koşullu Alıcılar | Koşul-alıcı eşlemesi |
E-postada değişkenleri kullanma:
New lead from phone call:
Name: {{customer_name}}
Email: {{customer_email}}
Interested in: {{selected_plan}}
Notes: {{call_notes}}
SMS Gönder
| Ayar | Açıklama |
|---|---|
| Ad | Zorunlu. Eylem tanımlayıcısı |
| Gönderen Adı | Görüntülenen gönderen adı |
| Mesaj | Zorunlu. SMS içeriği (değişken içerebilir) |
| Tetikleyici Koşul | Ne zaman gönderileceği |
| Alıcılar | Zorunlu. SMS'i her zaman alan telefon numaraları |
| Koşullu Alıcılar | Koşul-numara eşlemesi |
WhatsApp Gönder
HANC'de WhatsApp mesajlaşması, merkezi bir Twilio Content hesabından önceden onaylanmış şablonlar kullanır — bir Template SID'yi elle yapıştırmazsınız. Eylem düzenleyici, şu anda etkin ve onaylı her şablonun bir açılır listesini gösterir ve birini seçersiniz. Şablon içindeki yer tutucular ({{1}}, {{2}}, …) daha sonra çağrı değişkenlerinden veya düzenleyicide eşlediğiniz statik metinden satır içi doldurulur.
| Ayar | Açıklama |
|---|---|
| Ad | Zorunlu. Eylem tanımlayıcısı |
| Tetikleyici Koşul | Ne zaman gönderileceği |
| Alıcılar | Zorunlu. Mesajı her zaman alan telefon numaraları |
| Koşullu Alıcılar | Koşul-numara eşlemesi |
| Şablon | Zorunlu. Merkezi Twilio Content hesabından senkronize edilen önceden onaylanmış WhatsApp şablonlarının açılır seçicisi. Her giriş, hangisini seçeceğinizi bilmeniz için şablon adını, dilini ve gövdenin bir önizlemesini gösterir. |
| Şablon Değişkenleri | Seçtiğiniz şablon için düzenleyici her yer tutucuyu ({{1}}, {{2}}, …) listeler ve onu bir çağrı değişkenine (aşağıya bakın) veya statik bir dizeye eşlemenize izin verir. |
Şablon yer tutucularına eşleyebileceğiniz kullanılabilir çağrı değişkenleri:
| Değişken | Açıklama |
|---|---|
{{call_from}} | Arayanın telefon numarası |
{{call_to}} | Aranan numara |
{{call_summary}} | AI tarafından oluşturulan çağrı özeti |
{{call_sentiment}} | Duygu durumu (olumlu/nötr/olumsuz) |
{{call_task_achieved}} | Çağrı görevinin başarılıp başarılmadığı |
{{call_transcription}} | Tam çağrı yazıya dökümü |
WhatsApp, 24 saatlik müşteri hizmetleri penceresinin dışında işletme tarafından başlatılan her mesajın önceden onaylanmış bir şablon kullanmasını gerektirir. HANC, onaylı şablonların listesini paylaşılan Twilio Content hesabından senkronize eder; böylece açılır menü her zaman şu anda gönderilmeye uygun olanı tam olarak gösterir — yanlışlıkla bir taslak, reddedilmiş bir şablon veya var olmayan bir SID seçemezsiniz. Yeni bir şablon eklemek için destekle iletişime geçin; WhatsApp tarafından onaylandıktan sonra açılır menüde otomatik olarak görünür.
API Çağrısı
Çağrı sonrası API Çağrısı eylemi, yığınınızın geri kalanına yönelik genel web kancanızdır. Metodu seçin, URL'yi ayarlayın ve tüm çağrı yükünü gönderelim — uç noktanız, ne olduğunu açıklayan yapılandırılmış bir JSON nesnesi alır.
| Ayar | Açıklama |
|---|---|
| Ad | Zorunlu. Eylem tanımlayıcısı |
| Tetikleyici Koşul | Ne zaman tetikleneceği (boş = her çağrı). Yazıya dökmeye karşı bir LLM tarafından değerlendirilir. |
| API URL | Zorunlu. API uç nokta URL'si |
| HTTP Metodu | Zorunlu. GET, POST, PUT, DELETE, PATCH |
| Başlıklar | İsteğe bağlı istek başlıkları |
| Sorgu Parametreleri | İsteğe bağlı sorgu dizesi parametreleri |
Uç noktanızın aldıkları
POST / PUT / PATCH için, uç noktanız istek gövdesinde bir JSON nesnesi alır. Yapılandırdığınız gövde parametreleri, tam çağrı yüküyle birleştirilir:
{
"call_from": "+431234567890",
"call_to": "+439876543210",
"direction": "inbound",
"call_type": "phone",
"call_status": "ended",
"start_timestamp": 1730000000000,
"end_timestamp": 1730000187000,
"duration": 187000,
"transcription": [
{ "speaker": "agent", "content": "Hello…", "timestamp": 1730000001000 },
{ "speaker": "user", "content": "Hi…", "timestamp": 1730000003000 }
],
"call_summary": "Customer asked about pricing…",
"task_achieved": true,
"sentiment": { "sentiment": "positive", "explanation": "…" },
"custom_analysis_data": {
"name": "John",
"email": "john@example.com"
},
"collected_data": { /* in-call form submissions */ },
"transfer_history": [ /* if any agent transfer happened */ ],
"recording_url": "https://…",
"disconnection_reason": "user_hangup",
"is_anonymous": false,
"is_simulation": false,
"created_at": 1730000000000,
"updated_at": 1730000187000
}
GET / DELETE için aynı alanlar sorgu dizesine düzleştirilir — ancak transcription, sentiment ve custom_analysis_data gibi iç içe değerler düşürülür (URL'ler yapılandırılmış veriyi düzgün taşıyamaz). Yazıya dökmeye ihtiyacınız varsa POST/PUT/PATCH kullanın.
Her istek ayrıca izleme için bir X-Correlation-Id başlığı alır ve 30 saniye sonra zaman aşımına uğrar.
- Önceden getirme,
{phone}vb. değerleri URL/başlıklar/sorgu/gövdeye şablonlar. Çağrıdan önce, prompt'a döner. - Çağrı sonrası API Çağrısı, tüm çağrı dökümünü gövdede veya sorguda gönderir. URL şablonlama yok — uç noktanız statik URL + dinamik gövde alır.
Veri Alma Değişkenleri
Veri Alma Değişkenleri, AI'ın görüşmelerden otomatik olarak çıkardığı özel veri alanlarıdır. Örneğin, ajan arayanın adını, e-postasını, telefon numarasını veya tanımladığınız başka herhangi bir bilgiyi yakalayabilir.
Varsayılan Değişkenler
Her yeni ajan, iki varsayılan veri alma değişkeniyle oluşturulur:
| Değişken | Tür | Açıklama |
|---|---|---|
| E-posta | E-posta | Arayanın e-posta adresi |
| Telefon | Telefon | Arayanın telefon numarası |
Bunlar varsayılan olarak etkindir ve çağrı widget formunda gösterilir. Bunları düzenleyebilir veya kaldırabilir ve kendi özel değişkenlerinizi ekleyebilirsiniz.
Değişken Türleri
| Tür | Kullanım Durumu | Örnek |
|---|---|---|
| Metin | Adlar, adresler, notlar, serbest biçimli giriş | Müşteri adı, teslimat adresi |
| Sayı | Miktarlar, bütçeler, kimlikler | Sipariş miktarı, bütçe tutarı |
| E-posta | Doğrulamalı e-posta adresleri | Müşteri e-postası |
| Telefon | Doğrulamalı telefon numaraları | Müşteri telefon numarası |
| Seçici | Önceden tanımlanmış seçeneklerden seçim | Tercih edilen plan (Basic/Pro/Enterprise) |
| Onay kutusu | Evet/hayır onayı veya doğrulaması | "Pazarlama e-postaları almayı kabul ediyorum" |
Bir Değişken Yapılandırma
| Alan | Açıklama | Örnek |
|---|---|---|
| Değişken Adı | Zorunlu. Değişken tanımlayıcısı | customer_email |
| AI için Talimatlar | Zorunlu. AI'ın bu değeri ne zaman ve nasıl çıkaracağına dair talimatlar | "The customer's email address. Ask if not provided." |
| Örnek Biçim | (İsteğe bağlı) Beklenen biçim örneği | "john@example.com" |
| Seçenekler (Seçici için) | (Yalnızca Seçici) İzin verilen seçeneklerin listesi | ["Basic", "Pro", "Enterprise"] |
| Formda Göster | Bu alanın çağrı widget formunda görüntülenip görüntülenmeyeceği | Varsayılan olarak etkin |
Formda Göster
Formda Göster etkinleştirildiğinde, değişken çağrıdan önce ve çağrı sırasında web widget'ında görünür bir giriş alanı olarak görünür. Bu, AI'ın onu görüşmeden çıkarmasına ek olarak, arayanların bilgilerini doğrudan doldurmasına olanak tanır.
AI, görüşme sırasında eksik bilgileri doğal olarak sorar. "Müşterinin e-posta adresi, verilmezse kibarca sor" gibi net bir açıklama ayarlayın; ajan bunu halleder.
Araç ve Eylem Ekleme
- Ajanınızın Eylemler sekmesine gidin.
- Araç Ekle düğmesine tıklayın.
- Açılır menüden doğru aşamayı seçin — Önceden getirme, Canlı çağrı veya Çağrı sonrası.
- Ayarları yapılandırın.
- Kaydedin — değişiklikler bir sonraki çağrıda geçerli olur.
Tüm girişler, Eylemler tablosunda birlikte listelenir. Düzenlemek için herhangi bir satıra tıklayın veya silmek için çöp kutusu simgesini kullanın.
İlgili
- Sesli Ajanlara Genel Bakış
- Prompt Mühendisliği — Prompt'unuzda araçlara başvurun
- Bilgi Tabanı — Bilgi kaynakları
- Entegrasyonlar — Araçlarınızın konuşabileceği harici sistemler