İçeriğe atla
megapromotingHadi konuşalım

Uzmanlık · CRM ve satışlar

Kime, hangi kanaldan ulaşıldığı ve sırada ne olduğu görülen bir sistem.

Bir kuruluşun ticari sistemini kuruyoruz: kuruluşlar ve kişiler, bir aşama akışı, veriyi kendiliğinden getiren kanallar — arama, e-posta, form, voice agent — ve gönderimleri sorun olmadan önce durduran frenler. Kendi CRM’imizi satmıyoruz; sizin çalışma biçiminize göre bir CRM kuruyoruz.

Zaten kurduklarımızİki kendi uygulamamız, aşağıda alıntılanan şekilde üretimde. (1) MEGA CRM — ekibimizin kendi ticari faaliyetini yürüttüğü sistem: `server.js` 9.516 satır ve 99 HTTP rotasına sahip, depoda 96 SQL migration var ve arayüzde yaklaşık 95.000 satır TypeScript bulunuyor; son commit 18 Ağustos 2026 tarihli. (2) Kallina platformundaki CRM bağlayıcıları: amoCRM için 12 sunucu işlevi, Bitrix24 için 4 işlev, ayrıca Zoho CRM için belgelenmiş bir OAuth akışı ve Google Sheets için 10 işlev. Önemli not: **MEGA CRM satılık değildir.** Bunu işçiliğimizin kanıtı olarak gösteriyoruz, ürün olarak değil — müşteriler arasında sıkı veri izolasyonu yok ve sunucuya erişim gerektirmeyen bir kurulum akışı yok. Hizmet “sizin için böyle bir sistem kurarız”, “bizimkine lisans veririz” değil.

Çoğu şirketin bir CRM sorunu yoktur, bir kayıt sorunu vardır: kiminle ne zaman iletişime geçildiği, hangi kanaldan, ne söylendiği ve sırada ne olduğu bilinmez. Hazır bir araç, işiniz bu araç için tasarlanmış işe benzediğinde bunu çözer. Benzemediğinde — çünkü aynı anda hem kamu idareleriyle hem de özel şirketlerle çalışıyorsunuz ya da temasların yarısı bir voice agent’dan geliyor — aracı zorlamaya başlarsınız, ekip ise gerçeği ayrı bir dosyada tutar. O zaman bir şey inşa etmek değer.

Kanıt olarak gösterdiğimiz sistem, bizim çalıştığımız sistemdir. Ayrı projeler halinde yapılandırılmıştır; her birinin kendi organizasyon türü ve kendi alan şeması vardır, böylece aynı uygulama hem bir belediye hem de özel bir şirket için, her yeni türde veritabanına yeni sütunlar eklemeden çalışır. Organizasyonun altında kişiler, üstünde kampanyalar bulunur. Bir lead, “iletişime geçilmedi”den “sözleşme imzalandı”ya kadar yedi aşamalı bir güzergâhta ilerler ve sesli ajanın aramasından ziyarete kadar dokuz farklı kanaldan ulaşılabilir.

Zor olan, ve insanın kendi deneyimiyle öğrendiği şey, gönderim değildir. Durdurmadır. Sistem, kodla yazılmış çalışma saatlerine, hariç tutma listelerine, küçük harflerle yazılmış adrese göre deduplikasyona — organizasyona göre değil —, kampanyalar arasında bir soğuma süresine, kampanyalar arasında paylaştırılmış günlük bir üst sınıra ve orchestrator’ı başlatmayı reddeden, hiçbir dolambaçlı yolla aşılmayan bir anahtara sahiptir. Bunların her biri, bir kez eksik olduğu için sonradan eklendi. Bunları işlev listesi olarak değil, ders listesi olarak sayıyoruz.

Hemen her seferinde yaptığımız ikinci şey otomatik beslemedir. Verilerin elle yazıldığı bir CRM üç haftada boşalır. Bizde voice agent’ın araması, kuruluşun record’una transcript ve özetle birlikte otomatik yazılır ve aramanın sonucu bunu haklı çıkarıyorsa lead’i yolda ileri taşır. E-postalara gelen yanıtlar, her on dakikada bir posta kutusundan toplanır ve onları tetikleyen gönderime bağlanır. Açılmalar ve tıklamalar ayrı ayrı izlenir. İnsan, veri girmek için değil, karar vermek için müdahale eder.

CRM’de spam önleme — izlenmeye değer talepler · Rumence video, Türkçe altyazı ve deşifre metniyle

Tam döküm

Merhaba! Bugünkü analizde, ölçeklenmek isteyen her işletmenin bir noktada karşılaştığı bir sorunu didikliyoruz. Ticari prospeksiyon tam olarak nasıl otomatikleştirilir de her şey sinir bozucu ve saldırgan bir spam’a dönüşmez? Büyümek istiyoruz, verimliliği artırmak istiyoruz, bu açık. Ama bugün, spam’in tam 6 net, halka şeklinde, gerçekten güvenli bir yapay zekâ sistemine entegre edilmiş mekanizma ile nasıl önlendiğini görmek için ilginç bir teknik materyalin kaputunun altına bakıyoruz. Sadece işaretleyip unutacağımız standart ayarlardan değil, gerçek mimarilerden, olgulardan ve sayılardan söz ediyoruz. Hadi verilere girelim! Kısaca, tartışmamızın yapısı şu. Fren olmadan hızlanma sorunuyla başlıyoruz, sonra bir vaka çalışmasını, 42 mesajlık olayı analiz ediyoruz, analizin çekirdeğine, yani 6 koruma mekanizmasına geçiyoruz, abonelikten çıkmaları doğru yönetmekten bahsediyoruz ve klasik ikilemle bitiriyoruz: ne zaman bir sistem inşa etmek gerekir, ne zaman onu satın almak daha iyidir.

Başlayalım! Yani, yola çıkarken hareket noktamız olan temel soru şu. Uyguladığımız otomasyonun sadece spam’e dönüşmemesini nasıl sağlarız? Burada inanılmaz ince bir çizgi var. Arkadaki niyet her zaman iyi; insanlarla iletişime geçmek, satış üretmek istiyoruz, ama sistem körlemesine hızlanmaya bırakılırsa, yapısına doğrudan kodlanmış çok sıkı teknik kontroller olmadan, marka üzerindeki etki felaket olabilir. 1. bölüme geliyoruz, fren olmadan hızlanma. Bu otomatik sistemlerdeki görünürlük temel sorununa bakalım. Bunu fren sistemi olmayan çok güçlü bir araba gibi düşünün. Standart bir yazılım günlük işin gerçekliğiyle uyumlu olmadığında, işler hızla kontrolden çıkar. Mesela diyelim ki ekip hem kamu idareleriyle hem de özel şirketlerle etkileşiyor. Tamamen zıt karar yapıları, değil mi? Onların verileri, genel bir CRM içindeki aynı katı alanlara basitçe sığmaz. Peki pratikte ne oluyor?

İnsanlar gerçeği Excel dosyalarında ya da masa üstü notlarda ayrı tutmaya başlıyor, ana otomasyon ise yanlış verilerle boşuna çalışmayı sürdürüyor. Bu, basbayağı kaos demek. Ve kaynağımız burada endüstriden kesinlikle muhteşem bir alıntı veriyor, acımasız bir gerçek. Verinin elle yazıldığı bir CRM 3 hafta içinde boşalır. Bu çok mantıklı. İnsanlar yorulur, hata ortaya çıkar ve moral düşer. Satış insanları veri girmek için robot olmak zorunda değil, ilişkiler kurmak zorunda. İster aramaları otomatik olarak yazıya döken akıllı bir voice agent olsun, ister her 10 dakikada bir arka planda kendi kendine senkronize olan e-postalar olsun, fikir açık. Otomatik veri beslemesi artık bir lüks değil. İşleyen her sistemin zorunlu temelidir. İkinci bölüme geçiyoruz, 42 mesajlık olay. Gerçek bir başarısızlığın anatomisini didikelim. 42. Bu sadece rastgele bir sayı değil, gerçek bir teknik reforma yol açan bir prospeksiyon kampanyasından gelen gerçek bir hikâye.

Düşünsenize? Tek bir posta kutusu, birkaç saat içinde, aynı gün tam 42 mesaj aldı. Elbette teknik ekip ilk önce, tamam, bu bir bug, sonsuzca mesaj gönderen sıradan bir kod döngüsü diye düşündü. Ama veritabanına daha yakından bakınca, gerçek bundan çok daha karmaşıktı. Açıklama neydi? Sistem, mesajları e-posta adresi başına değil, kuruluş başına çekip gönderecek şekilde ayarlanmıştı. Dolayısıyla, mantıksal açıdan algoritma işini kusursuz yapmıştı. Hukuken ayrı 42 farklı şirket bulmuştu. Sorun, ve bu yerel pazarda sık gördüğümüz bir gerçek, bu 42 varlığın da tam olarak aynı e-posta adresini kullanmasıydı. İster ana şirketin adresi olsun, ister onlarca şirketi yöneten aynı dış muhasebecinin adresi. Varlıklar kâğıt üzerinde benzersizdi, ama mesajın nihai hedefi birdi. Ve işleri biraz perspektife oturtmak için, bu mesaj selinden kaç gerçek, etten kemikten insan etkilendi, biliyor musunuz?

Sadece 11. Bu onlarca işi yöneten 11 kişi. Bu olay bir şeyi çok net gösterdi. İyi niyet ve ilk bakışta doğru görünen bir kod asla yeterli değildir. Veritabanında her zaman görünmez bağlantılar vardır ve sistemin bunları önceden hesaplaması gerekir. Bu da bizi en önemli kısma, 3. bölüme getiriyor. Altı koruma mekanizması, yani sistemin tam kalbine doğrudan kodlanmış frenler. Çözüm burada. Kaynak, birbirini kontrol eden altı ayrı mekanizmadan oluşan bir koruma halkasını ayrıntılı biçimde anlatıyor. 1. Saat 8 ile 18 arasında sıkı çalışma saatleri ayarlamak. Kimse pazar günü sabah 3’te bir satış e-postası istemez. 2. Kalıcı hariç tutma listeleri, yani okullar veya elçilikler gibi hassas kurumları engellemek. 3. Ve bu, biraz önceki olayı önlerdi; şirket adına değil, küçük harfe dönüştürülmüş e-posta adresine göre zorunlu deduplikasyon.

4. Hedef kitlenin boğulmasını önlemek için, temas edilen her adres için 5 günlük bir soğuma süresi. 5. Küresel anti-spam filtrelerini kızdırmamak için sıkı günlük üst sınırlar. Ve son olarak, altıncı mekanizma, panik düğmesi. Bunların içinde bu altıncı mekanizma, yani kill switch ya da acil kapatma düğmesi, gerçekten güçlü bir parça. Tam da 42 mesajlık olaydan sonra uygulandı. Peki aslında nedir? Etkinleştirilirse, merkezi sisteme artık başlatma izni vermeyen basit bir değişken. İstisna yok, kodda gizli bir geçersiz kılma komutu yok. Ciddi her otomasyon mimarisinin, yönetimdeki herkesin programlama bilgisi olmadan basabileceği böyle fiziksel, mecazi anlamda bir düğmeye ihtiyacı vardır. Dördüncü bölüme geçiyoruz, abonelikten çıkmaların doğru yönetimi. Çünkü, dikkat, bu, sayfanın altına konmuş basit bir bağlantıdan çok daha fazlası demek. Mesajı gönderdikten sonra, eğer kişi veritabanından çıkmak istiyorsa, süreç kusursuz ve sağlamlaştırılmış olmalı.

Analiz bize üç aşamalı sağlam bir süreç gösteriyor. 1. adım. RFC 8058 gibi yeni küresel standartlara uygun, tek tıklamayla başlıktan abonelikten çıkma. 2. adım. Kişinin artık ne tür mesaj istemediğini seçebileceği görsel bir tercih merkezi. Ama 3. adım aslında en kritik olan ve birçok sistemin tökezlediği adım. Tam silme. Bu, inactive diye bir işaret koymak demek değil. Dikkat, adresin 6 farklı veritabanı tablosundan silinmesi ve ayrıca kalıcı bir kara listeye alınması demek. Ancak böylece o adresin bir sonraki toplu veri içe aktarımında sihirli bir şekilde yeniden ortaya çıkmamasını sağlarsınız. Ve sadece teknolojiden söz etmiyoruz. Doğrudan e-postanın alt kısmında yer alan hukuki saygı ve yasal uyumluluktan söz ediyoruz. Siz kimsiniz? DPO görevlisi kim? Mesajı hangi tam yasal dayanakla gönderdiniz? Ve özellikle, verileri başlangıçta hangi kamu sicilinden aldınız?

Kaynağımız bir altın kuralı vurguluyor. Bu dayanaklar her mevzuat değişikliğinde yeniden doğrulanmalı. Neden? Çünkü dünyadaki en pahalı sisteme sahip olabilirsiniz. Eğer yürürlükten kaldırılmış bir kanuna dayanıyorsa, teknolojiyi şirket için büyük bir finansal riske dönüştürmüş olursunuz. Son bölüme, beşinciye geliyoruz. Ne zaman kendiniz inşa edersiniz, ne zaman satın alırsınız? Olgun bir ticari altyapı için doğru cevaba bakalım. Dokümantasyon bu kararı son derece nesnel şekilde ele alıyor. Hazır, anahtar teslim bir CRM kesinlikle idealdir. Tek bir büyük şartla. Çalışma akışınızın platformun yaratıcıları tarafından düşünülmüş mantığa tam uyum sağlaması. Ancak kişiselleştirilmiş bir çözüm inşa etme kararı, yalnızca üç net durumda tek yol haline gelir. Çok farklı türde organizasyonlarla etkileşime girdiğinizde, manuel işin imkânsız hale geldiği çok büyük bir otomasyon hacminiz olduğunda ve en önemlisi, raftan alınan bir yazılımın size o altı mekanizmayı bu kadar derin bir düzeyde garanti edemeyeceği sıkı koruma kurallarınız olduğunda.

İyi haber? Arkada güvenli bir şey inşa etmek, ekipten zaten bilinen araçları pencereden atmak demek değildir. Bu koruma mekanizmaları, yaygın arayüzlere bağlanırken görünmez bir güvenlik katmanı olarak sessizce çalışabilir. Amos ERM, Bitrix24, Zohos ERM ve hatta klasik Google Sheets tabloları gibi popüler sistemlerle onlarca çift yönlü işlev çalıştıran bağlayıcılara sahip kanıtlanabilir mimariler var. Kısacası, güvenlik çekirdeği sağlam kalır, ama kullanıcı deneyimi de aynı derecede dostça olur. Ve böylece materyal bize, beraberimizde götürmeye değer, oldukça rahatsız edici bir düşünme konusu bırakıyor. Bunu ancak onu yazan programcının nasıl kapatacağını bildiği son derece gelişmiş bir ticari sistem, şirket için süper bir varlık mıdır yoksa aslında kabul edilemez bir risk mi? Günün sonunda, şeffaflık, görünür şekilde konmuş o acil durdurma düğmesi ve açık dokümantasyon, basit bir kör makineyi gerçekten ölçeklenebilir, profesyonel ve sorumlu bir iş sisteminden ayıran şeylerdir. Umarım bu mekanizmalar çözümlemesi, doğru bir otomasyonun nasıl görünmesi gerektiğine biraz daha ışık tutmuştur. Görüşmek üzere!

Neleri kapsıyor

Çalışma, bileşenlerine ayrılmış hâliyle

Veriler akışa girer, üç anahtarla deduplikasyon yapılır

50 MB’a kadar bir dosya akış halinde, 200 satırlık partilerle yüklenir ve işlenir; böylece veritabanının yürütme süresi aşılmaz, ilerleme ise gerçek zamanlı olarak, her adım için bir satır halinde geri döner. İçe aktarmadan önce üç anahtarlı bir deduplikasyon dizini kurulur — vergi kodu, e-posta adresi ve telefon — ve adresler doğrulanır: format, tek kullanımlık alan adları, geçersiz kalıplar. Aynı kuruluş, farklı yazılmış iki ad altında iki kez girmez.

Her temas kuruluş fişine yazılır

Sesli ajan ve insan aramasından ziyarete kadar dokuz iletişim kanalı ve gerçek etiketlere sahip yedi aşamalı bir rota: iletişime geçilmedi, iletişime geçildi, yanıt alındı, teklif gönderildi, aktif ilgili, müzakere, sözleşme imzalandı. Her aşamanın yanında, hangi yüzde oranının ileriye geçmesi gerektiği yazılıdır — bir vaat olarak değil, huniye bakan ve kaybın nerede olduğunu bilmek isteyen kişi için bir referans olarak.

Voice agent araması lead’i tek başına taşır

Agent bir aramayı bitirdiğinde, sonuç doğrulanan imzaya sahip bir webhook üzerinden sisteme girer: transcript, özet, duygu durumu, kayıt adresi, süre. Kuruluş, gerçek verilerde numaraların göründüğü biçimler için veritabanında yazılmış bir fonksiyon aracılığıyla telefon numarasına göre tanımlanır ve arama onun fişine bağlanır. Sonuç „interesat” veya „întâlnire programată” ise lead otomatik olarak yolda ilerler ve son temas tarihi güncellenir.

Gönderimde sadece hızlanma değil, fren de vardır

Kodla yazılmış çalışma saatleri: 08:00–18:00, Chișinău saat dilimi, pazartesiden cumartesiye. Okullar, liseler, anaokulları, büyükelçilikler ve konsolosluklar için hariç tutma listeleri. Küçük harflerle yazılmış adrese göre deduplikasyon — organizasyona göre değil; birden fazla şirket aynı posta kutusunu kullandığında bu ayrım son derece önemlidir. Aynı adres için kampanyalar arasında beş günlük soğuma. Kampanyalar arasında orantılı olarak paylaştırılan küresel günlük üst sınır, ayrıca her çalışma için bir üst sınır; böylece gönderimler toplu halde değil, birkaç saate yayılır.

Atlanamayan bir devre kesici

Kampanya orchestrator’ı başka her şeyden önce bir ortam değişkenini kontrol eder. Eğer ayarlıysa, başlatmayı reddeder ve çıkar — bunu aşan bir komut satırı argümanı yoktur, „zorla” yoktur. 1 Mayıs 2026’da, yinelenen gönderim olayından sonra eklendi. Sizin adınıza gönderim yapan bir sistemin, programcı olmayan birinin basabileceği bir durdurma düğmesine ihtiyacı vardır.

Tek tıkla abonelikten çıkma, üç aşamada

İlk aşama, RFC 8058’e uygun standart tek tıkla abonelikten çıkma başlığıdır — büyük e-posta sağlayıcılarının yüksek hacimli gönderimler için dayattığı gereklilik. İkinci aşama, abonelik tercihlerinin yönetildiği bir merkezdir; burada abonelikten çıkma geri alınabilir de. Üçüncü aşama, talep üzerine tam silmedir; bu işlem adresi altı tablodan siler, onu kalıcı bir engelleme listesine ekler ve günlükte bir iz bırakır. Üçü de alıcıya bağlı bir jetonla korunur; böylece kimse başka birini abonelikten çıkaramaz.

Yanıtlar ve reaksiyonlar kendiliğinden toplanır

E-posta yanıtları, Microsoft Graph aracılığıyla posta kutusundan okunur, her on dakikada bir, ve bunlar otomatik olarak onları tetikleyen gönderime bağlanır. Teslimat durumu, gönderim sağlayıcısından senkronize edilir. Açılışlar piksel ile, tıklamalar yönlendirme ile izlenir, teslim edilebilirlik panoları ise sorunlu alan adlarını gösterir. Ayrı bir hizmet, ücretli sağlayıcılarda kalan krediyi izler ve bitmeden önce uyarı verir — sonrasında değil.

Bir organizasyonun ne yaptığına göre arama, sadece adına göre değil

Tam metin aramasına ek olarak, soru bir embedding modeliyle bir vektöre dönüştürülür ve eşleştirme, ayarlanabilir benzerlik eşiğiyle (varsayılan 0,25) ve proje bazlı sınırlamayla, veritabanında özel bir fonksiyon üzerinden yapılır. Pratikte: „soğutmalı taşımacılık yapan şirketler” ifadesi, adında bu kelimelerin hiçbirini taşımayan organizasyonları da bulur.

Zaten sahip olduğunuz CRM'e bağlantı

Ekibiniz zaten bir CRM'de çalışıyorsa, onu refleks olarak değiştirmiyoruz. amoCRM için konektörü yazdık ve çalıştırdık — OAuth akışının tamamı, token yenileme ve durum kontrolü dahil 12 sunucu fonksiyonu — ayrıca OAuth ve webhook ile Bitrix24, Zoho için bir OAuth kılavuzu ve Google Sheets için on fonksiyon; bir sayfanın yapısını okumaktan kişi içe aktarmaya kadar.

Nasıl görünüyor

Süreç, adım adım.

01

Önce model, sonra arayüz

Sizde organizasyon nedir, contact nedir, fırsat nedir, hangi alanlar zorunlu ve hangileri sadece faydalı. Bu konuşma yavaş görünür ve sonradan geri alınamayan tek şeydir: yanlış bir model, sonrasında istediğiniz her raporda size maliyet çıkarır.

02

Rota ve aşamalar, alışkanlık olarak değil, kural olarak yazılmış

Bir lead'in geçtiği aşamalar, onu neyin ileri taşıdığı ve neyin geri taşıdığı, her birinde kimin sorumlu olduğu. Otomatik kuralları da yazarız — hangi arama sonucu lead'i yükseltir, hangi hareketsizlik onu aşağı çeker — çünkü sadece birisi düğmeye basmayı hatırladığında hareket eden bir rota, rota değildir, bir listedir.

03

Veriyi kendiliğinden getiren kanallar

Telefon sisteminden ya da sesli ajan'dan gelen aramalar, posta kutusundan gelen yanıtlar, sitedeki formlar, diğer sistemlerden gelen webhook'lar. Her kanal ayrı ayrı bağlanır ve test edilir; bazda hiçbir şeyle eşleşmeyen veriler için ne olacağını da her biri için belirleriz — çünkü sessizce kaybolanlar bunlardır.

04

Hızlanmadan önce frenler

Gönderim saatleri, dışlama listeleri, deduplikasyon, soğutma, limitler, abonelikten çıkma, acil durdurma. Bunları ilk kampanyadan önce koyarız, ilk şikâyetten sonra değil. Deneyimimizin en az maliyetli ve en değerli olduğu kısım budur, çünkü zaten bedeli ödenmiş hatalardan oluşur.

05

Teslim: prosedürler, roller, dokümantasyon

Kimin hangi rolü olduğu, bir kişi nasıl eklenir, bir kampanya nasıl durdurulur, bir şey ilerlemediğinde nereye bakılır, silme talebinde ne yapılır. Sadece kurucunun durdurmayı bildiği bir ticari sistem, bir varlık değil, bir risktir.

Bir merkez. Etrafında, ona girenler — ayrı yollarla.MERKEZ, ÇEVRESİNDEKİLERE DAYANIR
Aynı fişte birleşen kanallar: sesli agent araması, insan araması, e-posta ve posta kutusundan yanıt, sitedeki form, başka bir sistemden webhook — ve neyin geri döneceğine karar veren frenler.

Veriler

Neye dokunuyoruz, nerede duruyorlar ve ne kadar kalıyorlar

Veri koruma sorumlusu olan herkesin soracağı sorular — o sormadan önce burada sorulmuş hâliyle.

Veriler nerede duruyor ve nasıl yapılandırılmış
Supabase üzerinden PostgreSQL, 96 sürümlenmiş migrasyon ile. Yapı hiyerarşiktir: projeler, onların altında JSONB'de esnek alanları ve tam metin arama vektörü olan organizasyonlar, onların altında contactlar, ve kampanyalar projeye bağlıdır. Her proje kendi alan şemasını tanımlar — bu yüzden aynı uygulama hem kamu idarelerini hem de özel şirketleri, her yeni organizasyon türünde veritabanını büyütmeden destekler.
Gönderilen her e-postanın altbilgisinde ne yazıyor
Şirketin tam kimliği — unvan, vergi kodu, kayıtlı merkez — veri koruma sorumlusunun adresi, ileri sürülen yasal dayanak ve adresin kaynağı: kamu kayıtları ve kamu profilleri, açıkça söylenmiş, ima edilmemiş. Ayrıca tek tıkla abonelikten çıkma ve tek kelimelik yanıtla bir yedek seçenek. Yasal dayanakla ilgili olan kısım, her yasa değişikliğinde yeniden doğrulanır — güncelliğini yitirmiş bir dayanağı alıntılayan toplu gönderim, geri kalanı kusursuz olsa bile bir sorundur.
Kim neyi görür
Erişim kimlik doğrulama ile sağlanır, uygulama rotaları bir gate’in arkasında kapalıdır ve yönetim alanında ayrıca bir gate daha vardır. Roller ayrıdır: yönetim, sahip, satış, prospecting ve otomatik ajan için ayrı bir rol — çünkü sisteme yazan bir ajanın bir insanın yetkilerine sahip olmaması gerekir. Açık kayıt yoktur.
Kurulumda açıkça neyi kontrol ediyoruz
Her secret’in sunucuda fiilen ayarlanmış olduğunu: gelen webhookları imzalamak için kullanılan secret ve abonelikten çıkma jetonlarını imzalamak için kullanılan secret. Bunlar, formal görünene kadar formal görünen kontrollerdir: secret yoksa bir imza doğrulamasının karşılaştıracak hiçbir şeyi olmaz ve öngörülebilir bir jeton kimseyi korumayan bir jetondur. Bunları teslim listesine koyarız, varsayımlara değil.
Talep üzerine ne silinir ve ne kalır
Tam silme, adresi altı tablodan çıkarır ve kalıcı bir engelleme listesine ekler; böylece sonraki bir import onu geri getiremez. Bir iz günlükte kalır, gerekçeyle birlikte — çünkü bir yıl sonra talebin yerine getirildiğini kanıtlayabilmeniz gerekir. Kimseyi tanımlamayan istatistiksel agregatlar da kalır.

Bir vaka

Bir adres bir günde 42 e-posta aldı. Bu bir döngü değildi.

Durum

Kuruluşlara yönelik bir prospecting kampanyasında, tek bir posta kutusu aynı gün 42 mesaj aldı. İlk, kolay varsayım kodda bir döngü olduğuydu. Değildi.

Ne kurduk

Alıcıların çıkarılması adres bazında değil, kuruluş bazında yapılıyordu. Kırk iki kuruluş aynı posta kutusunu kullanıyordu — yerel iş ortamında, bir muhasebeci, ana şirket ya da yönetici birden fazla tüzel kişiliğe hizmet verdiğinde son derece yaygın bir durum. Her kuruluş doğru şekilde tek bir alıcıydı; adres ise değildi. O olayda etkilenen toplam kişi sayısı 11 idi. Onarım tek parçada değil, üç parçaydı: deduplikasyon küçük harfle yazılmış adrese taşındı, aynı adres için kampanyalar arasında beş günlük bir soğuma getirildi ve tüm gönderim scriptlerinin ortak bir koruma modülünden geçmesi zorunlu kılındı — bu modül, kampanya kimliği olmadan bir gönderimi kaydetmeyi reddeder. Aynı gün, orkestratörü tamamen durduran ve dolambaçlı yol bırakmayan kesici de eklendi.

Ne çıktı

Bugün adres bazlı deduplikasyon, abonelikten çıkma listesi, domain filtreleri ve beş günlük soğuma ortak modülün garantileridir, çalışıyor olabilecek script’in alışkanlıkları değil. Aceleyle yazılmış manuel bir script artık korumaları aşamaz, çünkü tek başına gönderim yapmasına izin verilmez.

Vakanın söylemedikleri

Ders otomatik olarak aktarılmaz: her veritabanının kendi duplicate biçimi vardır. Birinde e-posta adresidir, diğerinde şirketler grubunun telefon numarasıdır, üçüncüsünde ise iki görevi olan bir kişidir. Yeni bir importta ilk yaptığımız şey oradaki duplicate biçimini aramaktır — aynı olduğunu varsaymayız.

Sorular

İnsanların aramadan önce bize sordukları

Siz çalıştığınız CRM’i bana satıyor musunuz?

Hayır, ve nedeni ticari değil, teknik. Sistemimiz tek bir ekip için tasarlanmıştır: müşteriler arasında sıkı veri ayrımı yoktur ve sunucu erişimi varsaymayan bir kurulum akışı yoktur. Birine verilebilmesi için tam olarak bu iki şeyin yeniden yazılması gerekir. Onu, bir marangozun atölyesini göstermesiyle aynı nedenle gösteriyoruz — meslek hakkında bir broşürden daha fazlasını söyler. Bizim sattığımız şey, sizin nasıl çalıştığınıza göre bir sistemin inşa edilmesidir.

Neden hazır bir CRM satın almak yerine bir sistem inşa edeyim?

Çoğu zaman yapmamalısınız ve bunu size biz söylüyoruz. Hazır bir araç, işiniz onun tasarlandığı varsayıma benziyorsa doğru cevaptır. İnşa etmek, üç somut durumda gerekçelidir: aynı alan setine sığmayan temelden farklı kuruluş türleriniz vardır; temasların yarısı fişe kendi başına yazması gereken otomatik sistemlerden gelir; ya da aracın size vermediği ve çiğneyemeyeceğiniz gönderim kurallarına ihtiyacınız vardır. Bunların hiçbiri geçerli değilse, satın almanızı söyleriz.

Sistemi zaten kullandığımız CRM’e bağlayabilir misiniz?

Evet. amoCRM için konektörü yazdık ve çalıştırdık — OAuth akışı, jetonun yenilenmesi, leadlerin alınması ve durum kontrolü dahil 12 sunucu işlevi — ayrıca Bitrix24 için OAuth ve webhook ile. Zoho CRM için veri merkezi bölgelerine göre belgelenmiş OAuth akışımız var. Ekip için gerçek doğruluk kaynağı bir tablo olduğunda ise, sayfa yapısının okunmasından kişi içe aktarma ve güncellemeye kadar Google Sheets için on işlevimiz var.

Çağrılar CRM’e, somut olarak nasıl geliyor?

Çağrı sonunda gönderilen imzalı bir webhook ile. Sistem telefon numarasını alır ve numaraların gerçek verilerde göründüğü biçimler için sıfırdan yazılmış bir işlev aracılığıyla organizasyonu arar — metin karşılaştırmasıyla değil, çünkü bu durumların yarısını kaçırırdı. Çağrı, transkript, özet, duygu, kayıt adresi ve süre ile birlikte kaydedilir, fişeye bağlanır ve kod içindeki kural, çağrının sonucuna göre lead’i hattın üzerinde yukarı taşıyabilir.

Bize spam göndermemenizi nasıl sağlıyorsunuz?

İyi niyetle değil, birbirini doğrulayan altı mekanizma ile: gönderim saatleri, kurum türüne göre hariç tutma listeleri, küçük harfle yazılmış adrese göre çoğaltma önleme, aynı adres için beş günlük bekleme süresi, günlük ve her çalıştırma için kotalar ve orkestratörü dolanma yolu olmadan durduran bir kesici. Aşağıda, çoğaltma önlemenin organizasyona göre değil, adrese göre yapılması gerektiğini bize öğreten somut vaka var.

Birisi artık kendisiyle iletişime geçilmemesini istediğinde ne olur?

Hepsi alıcıya bağlı bir jetonla korunan üç aşaması vardır. E-posta başlığından doğrudan, tek tıklamayla abonelikten çıkma, RFC 8058’e uygun olarak. Kararın geri alınabildiği bir tercih merkezi. Ve adresi altı tablodan çıkarıp kalıcı bir engelleme listesine ekleyen tam silme — böylece altı ay sonra yapılan bir içe aktarma onu geri getiremez. Son kısım, çoğu sistemin atladığı kısımdır.

Veriler nerede duruyor ve kim görebilir?

Proje başında üzerinde anlaşılan altyapıda, sürümlenmiş migrasyonlarla PostgreSQL veritabanında — yani her yapı değişikliği manuel müdahale değil, bir dosyadır. Erişim ayrı rollere ayrılmıştır, otomatik ajanlar için ayrı bir rol de vardır; çünkü veritabanına yazan bir sistemin bir insanın yetkilerine sahip olmaması gerekir. Açık kayıt yoktur ve kamuya açık bir yüzey yoktur.

Eski veritabanımızı, tüm kopyalarla birlikte içe aktarabilir misiniz?

Evet, ve tam da kopyalar yüzünden içe aktarma bu şekilde kurulmuştur. Dosya, 200 satırlık gruplar halinde akış içinde işlenir; yazmadan önce kurulan vergi kimlik numarası, e-posta ve telefon bazlı bir çoğaltma önleme dizini ve adres doğrulaması ile birlikte: biçim, tek kullanımlık alan adları, geçersiz kalıplar. Uymayan şey sessizce atılmaz — karar verebilmeniz için raporlanır.

Bana satışlarda bir artış garantisi veriyor musunuz?

Hayır. Kimin hangi kanaldan ulaşıldığını, ne söylendiğini ve bundan sonra ne olacağını bilmenizi garanti edebiliriz — ve sistemin gerektiğinde kendi kendine durduğunu da. Sonuç rakamları teklife, pazara ve arayan ekibe bağlıdır; yani bizim kontrol etmediğimiz şeylere. Ölçmediğimiz iyileşme yüzdelerini ne kendimiz için ne de başkası için yayımlıyoruz.

Yukarıdaki iddialar neye dayanıyor (24 kaynak)

Bunlardan 24 tanesi depolarımızdaki kod ve dosyalardır. Adlarını ya da satırlarını yayımlamıyoruz: hepsi bir arada, tek bir sayfada, yalnızca bize ait olmayan sistemlerin nasıl kurulduğunu fazla net anlatırdı. İstek üzerine, depoda sizinle birlikte gözden geçiriyoruz — doğrulama hâlâ mümkün, sadece bir görüşme içinde yapılıyor.

Neyin daha iyi çalışmasını isterdiniz?

Bize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.

Hadi konuşalım