Bir otomasyonun aynı kaydı iki kez işlemesi, zaman kazancı yerine müşteri, stok veya raporlama hatası üretebilir. Önce benzersiz anahtarı ve tekrar davranışını tasarlayın.
HIZLI ÖZET
Karar vermeden önce bilmeniz gerekenler
- Önce “aynı kayıt” tanımını süreç sahibiyle yazın; teknik olarak aynı görünen iki kayıt iş açısından farklı olabilir.
- Mümkünse kaynak sistemdeki değişmez benzersiz kimliği kullanın; yalnızca isim veya serbest metne dayanan eşleştirme risklidir.
- Akışı tekrar çalıştırdığınızda yeni kayıt açmak yerine aynı işlemi güvenle tamamlayacak idempotent davranış tasarlayın.
- Belirsiz eşleşmeleri silmeyin veya birleştirmeyin; insan inceleme kuyruğuna gönderin ve sonuçları izleyin.
Yinelenen kayıt nereden doğar?
İlk kaynak tetikleyicidir. Bir web formu kullanıcı iki kez tıkladığı için veya sistem olay teslimini yeniden denediği için iki olay oluşturabilir. İkinci kaynak akışın kendisidir. Hata sonrası tüm adımı yeniden çalıştırmak, hedefte ikinci kayıt yaratabilir. Üçüncü kaynak birden çok entegrasyondur. Aynı müşteri hem e-posta listesi hem satış formu üzerinden CRM'e aktarılabilir. Dördüncü kaynak insan müdahalesidir; ekip otomasyon çalışmadı sanıp elle kayıt açabilir.
Bu nedenleri olay günlüğünde ayırmadan tek bir çözüm bulamazsınız. Her kayıt için kaynak sistem, olay kimliği, zaman, hedef kayıt kimliği ve akış sürümü gibi izleme bilgisi tutmak teşhis süresini azaltır. Sorun çıktığında “hangi müşteri iki kez oluştu?” yerine “hangi olay, hangi adımda, neden tekrarlandı?” sorusunu sorabilirsiniz.
İş açısından benzersiz anahtarı tanımlayın
En iyi benzersiz anahtar, kaynak sistemin değişmeyen kayıt kimliğidir. Sipariş numarası, form gönderim kimliği veya kurum içi müşteri kimliği bu işlevi görebilir. Bu kimlik hedef sisteme taşınır ve işlem öncesinde aranır. Kayıt varsa güncelleme ya da güvenli durdurma; yoksa oluşturma kararı verilir.
Bazı süreçlerde bu kimlik yoktur. E-posta adresi potansiyel eşleştirme alanı olabilir; ancak ortak e-posta, yazım hatası veya adres değişimi risk taşır. İsim–telefon–şirket birleşimi daha güçlü olabilir, fakat yanlış eşleşme ihtimali doğurur. Hangi alanların yeterli olduğuna süreç sahibi karar vermelidir. Teknik kolaylık, müşteri verisini yanlış birleştirme gerekçesi değildir.
Belirsiz durum için üçüncü sonuç tanımlayın: eşleşti, eşleşmedi, inceleme gerekiyor. İnceleme gerektiğinde otomasyon kayıt oluşturmamalı veya eski kaydı değiştirmemeli; ilgili kişiye bağlamla görev açmalıdır.
İdempotent akış tasarlayın
İdempotent davranış, aynı olayın birden fazla kez gelmesi durumunda iş sonucunun bir kez gerçekleşmesidir. Pratikte bu, işlemden önce kontrol etmek, olay kimliğini kaydetmek, hedef kayıt kimliğini saklamak ve tekrar deneme davranışını planlamak demektir. Amaç “tekrar deneme olmasın” değil, tekrar deneme güvenli olsun yaklaşımıdır.
Akışı aşamalara ayırın. Önce olay kimliğini doğrulayın, sonra hedefte mevcut kaydı arayın, ardından yalnızca gerekli değişikliği yapın. Her başarılı adımın sonucunu kaydedin. Bağlantı hatasında işlem belirsiz kalabilir; bu durumda akış, hedef kayıt durumunu kontrol etmeden körlemesine yeni kayıt oluşturmamalıdır.
Bu mantığın ayrıntısı kullanılan sistemlere göre değişir. Yayın öncesinde hedef API'nin güncel davranışını ve veri güncelleme kurallarını resmi dokümanlardan doğrulayın. Önemli olan aynı prensiptir: yeniden çalışma, yeni hata yaratmamalıdır.
Test senaryolarını yazın
Pilot sırasında aynı form olayını iki kez gönderin. Aynı e-postayı farklı büyük/küçük harfle deneyin. Ağ kesintisi simüle edin, hedef sistemde kayıt oluşturulduktan sonra bağlantıyı koparın, insanın elle kayıt açtığı durumu test edin. Her durumda beklenen sonucu önceden yazın: kayıt sayısı, güncelleme davranışı, uyarı ve inceleme kuyruğu.
Test verisini gerçek müşteriden ayırın. Sonuçları olay kimliğiyle kaydedin. Bir senaryo başarısız olduğunda yalnızca kural eklemeyin; sebebi kaynak olay mı, eşleştirme tanımı mı, hedef sistem davranışı mı, yeniden deneme mantığı mı diye sınıflandırın. Bu sayede akış zamanla karmaşık filtre yığınına dönüşmez.
İnsan incelemesi ve veri düzeltme
Otomasyon her belirsiz kaydı çözemeyebilir. İnsan inceleme kuyruğu, sistemin zayıflığı değil veri kalitesinin güvenlik katmanıdır. İnceleme görevinde önerilen eşleşme, kaynak kayıt, hedef kayıt, fark alanları ve yapılabilecek aksiyon bulunsun. Sorumlu kişi birleştir, ayrı tut veya kaynak veriyi düzelt seçeneklerinden birini seçebilsin.
Bu kararları kayıt altına alın. Aynı tür belirsizlik tekrar ediyorsa, form doğrulaması, veri standardı veya eşleştirme kuralı iyileştirilebilir. Örneğin telefon numarası biçimi sürekli farklı giriliyorsa, kaynakta normalleştirme yapmak hedefte sürekli temizlik yapmaktan daha iyidir.
İzleme ve bakım
Haftalık olarak mükerrer önleme kuralının kaç kaydı durdurduğunu, kaç kaydı incelemeye gönderdiğini, kaç yanlış eşleşme şüphesi oluştuğunu ve insanın ne kadar süre harcadığını izleyin. Hiç mükerrer görünmemesi her zaman başarı değildir; belki akış tetiklenmiyordur veya hata sessizce kayboluyordur. Kaynak ile hedef kayıt sayısını örneklemle karşılaştırın.
Akış sahipliği, erişim anahtarları ve son gözden geçirme tarihini de koruyun. Form, CRM veya iş kuralı değiştiğinde eşleştirme mantığı bozulabilir. Ayda bir kısa bakım, büyük veri temizliği projesini önleyebilir.
Örnek karar tablosu
Bir form kaydı geldiğinde kaynak kimliği varsa önce bu kimliği hedefte arayın. Bulunursa yeni kayıt açmayın; iş kuralına göre kaydı güncelleyin veya olayı işlenmiş olarak kapatın. Kaynak kimliği yoksa onaylı bir ikincil eşleştirme kuralı kullanın. Örneğin e-posta ile eşleşme güçlü bir sinyal olabilir; ama isim benzerliği tek başına otomatik birleştirme için yeterli olmayabilir. Eşleşme güveni düşükse sistem insan incelemesine dönmelidir.
Sipariş veya başvuru gibi farklı varlık türlerinde farklı anahtar gerekir. Aynı müşteri iki ayrı sipariş veriyorsa müşteri e-postasına göre siparişleri birleştirmek yanlıştır. Bu nedenle anahtar seçiminde “hangi nesneyi tekil sayıyoruz?” sorusu önce gelir. Teknik ekip kuralı uygular; süreç sahibi iş anlamını onaylar.
Canlıdaki mükerrer kayıtla başa çıkma
Kural canlıya alınmadan önce oluşmuş eski mükerrerler olabilir. Bunları otomasyonun ilk gününde toplu biçimde silmeyin. Önce küçük bir örnekle kayıtları sınıflandırın: gerçekten aynı kişi mi, aynı olayın tekrarı mı, yoksa yanlış eşleştirme mi? İnsan kararı gereken durumları ayrı kuyruğa alın. Veri temizliği, yeni akışın testinden farklı bir projedir ve etkisi ayrıca değerlendirilmelidir.
Canlıda kritik hata görülürse akışı durdurmak için sahip ve adım belli olmalıdır. Sonrasında olay günlüğünü inceleyin, etkilenen kayıtları listeleyin, düzeltme planını yazın ve aynı hata senaryosunu test setine ekleyin. Hata sonrası öğrenme kaydedilmezse, akış tekrar büyüdüğünde aynı sorun geri döner.
Ekip iletişimi
Satış veya operasyon ekibi, otomasyonun hangi kaydı oluşturduğunu ve şüpheli kayıtta ne yapacağını bilmelidir. Aksi halde kullanıcılar akışa güvenmeyip paralel manuel kayıt açabilir. Kısa bir rehberde işlem durumu, inceleme kuyruğu, manuel müdahale sınırı ve destek kişisi yazılsın. Otomasyonun güveni teknik mantıktan olduğu kadar, insan ekibin görünür çalışma biçiminden de gelir.
Veri kalitesi kurallarını kaynağa taşıyın
Mükerrerliği hedef sistemde temizlemek mümkün olsa da, en kalıcı çözüm çoğu zaman kaynaktadır. Form alanı zorunlu değilse, telefon numarası farklı biçimde girilebiliyorsa veya müşteri kimliği yaratılmadan olay üretiliyorsa otomasyon her seferinde tahmin yapmak zorunda kalır. Kaynak sistemde doğrulama, normalleştirme ve benzersiz kimlik üretme kurallarını iyileştirmek hedefteki karmaşıklığı azaltır.
Örneğin e-posta için boşluk ve büyük/küçük harf davranışı, telefon için ülke kodu ve ayırıcı işaret biçimi, şirket adı için serbest metin yaklaşımı süreç sahibi tarafından belirlenebilir. Bu kuralları kaynakta uygularsanız, eşleştirme hem daha güvenli hem daha anlaşılır olur. AI veya otomasyon katmanı, kötü veriyi sihirli biçimde doğru veriye dönüştürmez.
Değişiklik günlüğünü koruyun
Eşleştirme kuralı değiştiğinde neyin, neden değiştiğini ve hangi testin tekrarlandığını yazın. Bir kuralın tarihçesi yoksa aylar sonra yanlış eşleşmenin yeni mi eski mi olduğu anlaşılmaz. Günlükte kural sürümü, sahibi, etkilenen akış, test sonucu ve geri alma noktası bulunsun. Bu kayıt, teknik dokümantasyondan çok güvenilir işletim hafızasıdır.
Kural değişikliğini önce sınırlı kayıtla deneyin. Yeni mantık eski kayıtları da etkiliyorsa toplu güncelleme için ayrı onay ve yedekleme planı yapın. Canlı müşteri verisinde hızlı deneme, veri temizliği maliyetini büyütür.
Başarı eşiğini belirleyin
Akışın amacı “hiç inceleme görevi oluşmasın” değildir. Çok düşük inceleme sayısı, kuralların şüpheli kayıtları sessizce kabul ettiği anlamına da gelebilir. Başarı; doğru biçimde durdurulan mükerrer, insan tarafından çözülen belirsiz durum, düşük yanlış birleştirme ve kabul edilebilir müdahale süresi dengesidir. Eşiği süreç sahibiyle birlikte belirleyin ve aylık gözden geçirin.
Sonuç: tekrar deneme güvenli, belirsizlik görünür olsun
n8n ile yinelenen kayıt önleme; benzersiz anahtar, idempotent çalışma, gerçek hata testi ve insan incelemesiyle kurulur. Aynı kaydın ne olduğunu iş açısından tanımlayın, belirsiz eşleşmeyi otomatik birleştirmeyin ve olay günlüğünü koruyun. Böylece otomasyon sadece hızlı değil, güvenilir veri üreten bir iş akışı olur.
Tekrar senaryosunu kasıtlı olarak üretin
n8n akışının mükerrer kayıt üretmediğini yalnız normal akışa bakarak anlayamazsınız. Aynı webhook'u iki kez gönderin, isteğin zaman aşımına uğramış gibi görünmesini sağlayın ve aynı verinin farklı sırada gelmesini deneyin. Her denemede hangi anahtarın eşleştiğini, hangi kaydın güncellendiğini ve hangi olayın hata kuyruğuna düştüğünü not edin. Özellikle dış sistem yanıt vermediğinde kullanıcının yeniden deneme davranışı iki ayrı işleme yol açabilir. Bu testler bir kez tamamlanıp unutulmamalı; tetikleyici, veri modeli veya hedef uygulama değiştiğinde yeniden çalıştırılmalıdır.
n8n’de yinelenen kayıt önleme
Girdi: Benzersiz talep_id alanı olan geçerli, tekrar ve hatalı sentetik kayıtlar.
Çıktı: Yeni kayıt kuyruğu ile tekrar/hata kuyruğuna ayrılmış sonuç.
Gerçek yazma düğümünü yalnız yeni kayıt çıkışına bağla; yüksek hacimde veritabanı UNIQUE kısıtı kullan.
- Hazır akışı içe aktar
JSON dosyasını n8n’de Import from File ile aç; akış pasif başlamalıdır.
Beklenen sonuç: Yedi düğümlü pilot ve kurulum notu görünür. - Dört sentetik kaydı çalıştır
Pilot tetikleyicisini çalıştır; iki benzersiz, bir tekrar ve bir anahtarsız kayıt kullan.
Beklenen sonuç: İki kayıt yeni kuyruğa, iki kayıt tekrar/hata kuyruğuna gider. - Yazma düğümünü güvenli çıkışa bağla
Sheets, CRM veya başka yazma düğümünü yalnız “Yeni kayıt kuyruğu” sonrasına ekle.
Beklenen sonuç: Tekrar ve hatalı kayıt dış sisteme ulaşmaz. - Kalıcı anahtarı güçlendir
Eşzamanlı veya yüksek hacimli akışta Data Table ya da veritabanı UNIQUE kısıtı kullan; yarış koşulunu iki paralel istekle dene.
Beklenen sonuç: Aynı anahtar eşzamanlı geldiğinde de tek kayıt oluşur.
Rehberli uygulama: dış araçlarda bağlantı ve test adımlarını sen tamamlarsın. Örnek dosyalar eğitim içindir; çalıştırılmış müşteri sonucu değildir.
Kurulum kaynakları: n8n Code node ↗
Pilota geçmeden önce
- ✓ Her kaydın benzersiz anahtarı ve tekrar davranışı tanımlandı.
- ✓ İlk akış sentetik veriyle tekrar çalıştırılarak test edilecek.
- ✓ Hata kuyruğu ve manuel düzeltme sorumlusu belirlenecek.
- ✓ Kritik yazma aksiyonları için geri alma yolu doğrulanacak.