İtirazlar, Aktivite Zaman Çizelgesi ve Etiketler
Bir kontak sayfası açtığında “bu kişiyle daha önce ne konuşuldu, hangi itiraz vardı, kaç kez arandı, hangi kadans adımındaydı” sorusuna tek sekmede cevap bulman gerekir — üç ayrı ekranda arama yapman değil. Purvisor AI bunu üç parça halinde çözer: itiraz geçmişi (müşteri neye karşı çıktı), birleşik aktivite zaman çizelgesi (aramalar + kadans adımları kronolojik tek akış) ve etiketler (manuel veya kural bazlı otomatik). Üçü de kontak detayının Analiz ve Aktivite sekmelerinde yaşar.
Neden tek zaman çizelgesi?
Kontak geçmişi dağınık olduğunda iki şey olur: asistan aynı soruyu tekrar sorar (müşteri sinirlenir) ve satış temsilcisi bir önceki itirazı unutup aynı cevabı tekrar verir. Purvisor, aramaları ve kadans adımlarını (SMS, WhatsApp, e-posta, otomatik arama) tarih sırasına göre tek bir akışta birleştirir — hangi kanaldan geldiğine bakmaksızın. Asistan bir sonraki aramada “geçen hafta fiyat itirazınız vardı, bugün ondan bahsedelim” diyebiliyorsa, bunun sebebi bu birleşik geçmiştir.
İtiraz takibi
Her görüşme bittiğinde yapay zeka, konuşmayı analiz ederken müşterinin öne sürdüğü itirazları da tipine göre sınıflandırıp kontağın itiraz geçmişine ekler. Sabit 6 itiraz tipi vardır:
Tip (objectionType) | Panelde etiket |
|---|---|
price | Fiyat |
timing | Zamanlama |
trust | Güven |
competitor | Rakip |
no_need | İhtiyaç Yok |
no_authority | Yetki Yok |
Kontak detayının Analiz sekmesinde “İtiraz Geçmişi” başlığı altında her itiraz; tipi, tarihi ve (varsa) müşterinin söylediği kısa metinle listelenir. Üstteki Tümü / Çözülmemiş filtresiyle sadece hâlâ açık olan itirazları görebilirsin.
📸 [Ekran görüntüsü: Kontak detayı → Analiz sekmesi → İtiraz Geçmişi listesi + Tümü/Çözülmemiş filtresi]
Her itirazın alanları şunlardır: objectionType, objectionText (müşterinin ifadesi), agentResponse (asistanın verdiği cevap, varsa), resolved (çözüldü mü) ve bağlı olduğu callId. Kayıt oluşturulurken resolved işaretlenebilir; sonradan tek tek “çözüldü” olarak değiştirmek için panelde ayrı bir buton yoktur — filtre sadece görüntüleme amaçlıdır.
Çözülmemiş bir itiraz, bir takip kuralını tetikleyebilir: örneğin “fiyat itirazı çözülmedi” segmentine giren kontaklar otomatik olarak bir kadansa kaydedilebilir. Bu kayıt da (yeni bir aktivite olarak) aynı zaman çizelgesinde görünür — itiraz ve takip, birbirinden kopuk iki kayıt değil, tek hikâyenin parçalarıdır.
Birleşik aktivite zaman çizelgesi
Aktivite sekmesi, kontakla ilgili şu iki kaynağı birleştirip tek listede, en yeniden en eskiye sıralar:
Kadans olayları (contact_activities tablosu) Aramalar (calls tablosu)
cadence_call, cadence_sms, campaign_call
cadence_whatsapp, cadence_email, manual_call
cadence_enrolled, cadence_completed,
cadence_stopped, cadence_step_skipped
│ │
└──────────────┬───────────────────────┘
▼
Tarihe göre birleşik, tekilleştirilmiş
zaman çizelgesi (en yeni üstte)Bir arama zaten bir kadans adımı olarak loglanmışsa (cadence_call aktivitesinin metadata.callId’si o aramayla eşleşiyorsa), aynı arama ikinci kez manual_call/campaign_call olarak listede tekrar etmez — çift kayıt engellenir.
Her aktivite kartında görünen bilgiler kaynağa göre değişir:
| Alan | Nerede görünür |
|---|---|
| Kanal rozeti (Arama, SMS, WhatsApp, E-posta) | Her aktivite |
| Kadans adı, adım no, gün sayısı | Kadans kaynaklı aktiviteler |
| Süre (saniye), duygu durumu (Olumlu/Nötr/Olumsuz) | Arama kaynaklı aktiviteler |
| Kısa açıklama (görüşme özeti veya adım sonucu) | Her aktivite |
Varsayılan olarak son 8 kayıt görünür; “Daha fazla göster” ile listenin tamamı (varsayılan sayfa başına 50, maksimum 100 kayıt) açılır. Aktivite sekmesinin üstünde ayrıca kadansın hangi adımda olduğunu gösteren ilerleme çubuğu yer alır.
📸 [Ekran görüntüsü: Kontak detayı → Aktivite sekmesi → kadans ilerleme çubuğu + birleşik zaman çizelgesi]
Etiketler
Etiketler iki yoldan bir kontağa iliştirilir:
- Manuel — bir etiketi isim + renk vererek oluşturursun; kontak listesinde etiketlere göre filtreleme yapabilir, CSV dışa aktarımında etiketleri kolon olarak görebilirsin.
- Otomatik (kural bazlı) — etikete bir “otomatik etiketleme kuralı” bağlarsın; her görüşme sonrası kural koşulu tutan tüm kontaklara etiket otomatik eklenir (aynı kontağa aynı etiket ikinci kez eklenmez).
Etiketi oluştur
Ad ve renk belirle (renk kod olarak saklanır, varsayılan #6366f1). İsteğe bağlı bir açıklama ekleyebilirsin.
Otomatik kural tipini seç (isteğe bağlı)
Dört kural tipinden biri:
ruleType | Koşul | Nasıl çalışır |
|---|---|---|
keyword | Virgülle ayrılmış anahtar kelimeler | Görüşme transkriptinde kelimelerden biri geçerse etiketlenir |
sentiment | positive / neutral / negative | Görüşmenin genel duygu durumu eşleşirse etiketlenir |
call_outcome | Görüşme sonucu | Analiz çıktısındaki sonuç (outcome) eşleşirse etiketlenir |
ai_analysis | Serbest metin koşul | Yapay zekaya transkript + analiz verilir, koşula uyup uymadığına “evet/hayır” karar verdirilir |
Koşulu tanımla ve kaydet
Her görüşme sonrası aktif kurallar sırayla değerlendirilir; koşul tutarsa kontağa etiket otomatik eklenir.
ai_analysis tipi kuralların değerlendirmesi, asistanının seçili konuşma modelinden bağımsız olarak ayrı bir model üzerinden çalışır — bu yüzden bu kural tipini kullanmak için ayrı bir API anahtarı ön koşuldur. Diğer üç kural tipi (keyword, sentiment, call_outcome) herhangi bir ek anahtar gerektirmez.
📸 [Ekran görüntüsü: Kontak listesi → Etiket filtresi dropdown + kontak kartı üzerinde renkli etiket rozetleri]
KVKK notu
İtiraz metinleri, aktivite açıklamaları ve etiketler kişisel/işlemsel veri sayılır — müşterinin ne söylediğini ve neden belirli bir şekilde etiketlendiğini içerebilir. Bu verileri yalnızca satış sürecini yönetmek amacıyla tut, gereksiz ayrıntıyı (örn. hassas kişisel bilgi) objectionText alanına yazdırmaktan kaçın; silme/erişim talebi geldiğinde kontağı doNotCall ile işaretlemek görüşmeyi durdurur ama geçmiş kayıtları silmez — kalıcı silme için KVKK Veri Yönetimi sürecini kullan.