Buyo logosuBuyo
Ana Sayfa / Blog / AI Automation — Niş Sektörler / State (Durum) Kaybı Yüzünden Başarısız Olan Bir Otomasyon: Kurgusal Vaka
AI Automation

State (Durum) Kaybı Yüzünden Başarısız Olan Bir Otomasyon: Kurgusal Vaka

Buyo Ekibi · 24 Temmuz 2026 · 3 dk okuma

Diyelim ki bir diş kliniği, hastaların WhatsApp üzerinden randevu almasını sağlamak için bir otomasyon sistemi kuruyor. Klinik, Workflow Automation aracı olarak n8n kullanıyor ve süreç şöyle işliyor: Hasta mesaj atıyor, sistem adım adım sorular soruyor (şikayet, tercih edilen gün, saat, doktor), sonunda randevu oluşturuluyor. Ancak bir süre sonra klinik, bazı hastaların aynı sorulara iki kez cevap vermek zorunda kaldığını fark ediyor. Örneğin hasta “Pazartesi gününe randevu almak istiyorum” dedikten sonra, bir sonraki adımda sistem tekrar “Hangi gün uygunsunuz?” diye soruyor. Bu tekrarlar hastaları sinirlendiriyor ve bir kısmı işlemi yarıda bırakıyor. Bu kurgusal örnekle, state (durum) kaybının otomasyon başarısızlığına nasıl yol açtığını inceleyeceğiz.

Olayın Arka Planı

Klinik, n8n ile bir chatbot workflow'u oluşturmuştu. Workflow şu adımlardan oluşuyordu:

  • Adım 1: WhatsApp mesajını al, potansiyel hastayı tanımla (telefon numarası ile).
  • Adım 2: Hastanın şikayetini sor, cevabı kaydet.
  • Adım 3: Tercih edilen günü sor, cevabı kaydet.
  • Adım 4: Tercih edilen saati sor, cevabı kaydet.
  • Adım 5: Uygun doktoru sor, cevabı kaydet.
  • Adım 6: Randevuyu CRM'e kaydet ve onay mesajı gönder.

Her adımda bir Wait for webhook response düğümü kullanılıyor ve bir sonraki mesaj geldiğinde yanıt işleniyordu. İlk başta çalışıyor gibi görünse de, özellikle hasta mesajları arasında uzun süre geçtiğinde (örneğin 10 dakika) sorun başlıyordu.

Sorunun Tanımı: State Kaybı

Hasta ilk soruyu cevaplıyor (örneğin “Diş ağrım var”). Sistem bu cevabı alıyor, ancak ertesi gün hastanın bir sonraki cevabını işlerken, daha önce hangi adımda olduğunu unutuyor. Çünkü workflow'un state’i — yani hangi aşamada olduğu, hangi bilgileri topladığı — her yeni mesajda yeniden başlıyor. Bu state kaybı, sistemin aynı soruyu tekrar sormasına neden oluyor. Klinikteki otomasyon sorumlusu bu durumu “hasta veritabanında bazen adımların yarısı kayboluyor” diye özetliyor.

Kök Neden Analizi

Workflow Automation araçlarında state yönetimi kritiktir. n8n, her bir çalışma (execution) için otomatik olarak bir execution ID oluşturur ve bu ID üzerinden geçici verileri bellekte tutar. Ancak bu geçici bellek (in-memory) uzun süreli beklemelerde veya sunucu yeniden başlatmalarında kaybolabilir. Bu kurgusal vakada, n8n’in Wait düğümü, belirli bir süre sonra zaman aşımına uğruyor ve execution sonlanıyor. Hasta bir sonraki mesajı gönderdiğinde, yeni bir execution başlıyor ve önceki state’in hiçbir bilgisi yok. Ayrıca, klinik n8n’i varsayılan ayarlarla kullandığından, execution verileri bir süre sonra siliniyor. Bu yüzden workflow, adımlar arasında tutarlılığı sağlayamıyor.

Çözüm: State’i Kalıcı Hale Getirmek

Çözüm, Workflow Automation sürecinde state’i harici bir veritabanında veya bellek dışı bir depoda tutmaktır. n8n bu amaçla çeşitlik düğümler sunar: Örneğin Redis, Database (PostgreSQL, MySQL) veya File düğümleri ile execution verileri kalıcı hale getirilebilir. Kurgusal klinikte, n8n workflow'una bir Database düğümü eklendi: Hastanın telefon numarasıyla ilişkili bir kayıt oluşturuldu, her adımda toplanan bilgiler bu kayda yazıldı ve bir sonraki mesaj geldiğinde kayıt okunarak hangi adımda kalındığı tespit edildi. Böylece state kaybı sorunu tamamen ortadan kalktı. Ayrıca, n8n’in Webhook düğümünde “Respond to Webhook” seçeneği kullanılarak, beklerken bile aynı execution’ın devam etmesi sağlanabilir.

Alınacak Dersler ve Öneriler

Bu kurgusal vaka, Workflow Automation projelerinde state yönetiminin en baştan tasarlanması gerektiğini gösteriyor. n8n gibi güçlü araçlar kullanılsa bile, varsayılan ayarlar beklentiyi karşılamayabilir. İşte pratik öneriler:

  • Uzun süreli beklemeler (Wait düğümleri) içeren workflow'larda, state’i harici bir depoda tutun (Redis veya SQL veritabanı).
  • Her adımda unique bir oturum anahtarı (örneğin telefon numarası) kullanın ve tüm kayıtları bu anahtarla ilişkilendirin.
  • Execution zaman aşımı sürelerini artırın veya “Continue on wait” gibi özelliklerle çalışın.
  • Test aşamasında farklı senaryoları (mesaj gecikmesi, sunucu yeniden başlatma) mutlaka test edin.

Sonuç olarak, bir otomasyonun başarısı sadece doğru adımları sıralamakla değil, aynı zamanda bu adımlar arasındaki durumu korumakla mümkündür. State kaybı, müşteri deneyimini doğrudan etkileyen sessiz bir sorundur. n8n doğru yapılandırıldığında bu sorunu çözmek için yeterli araçları sunar.

Sık Sorulan Sorular

State kaybı nedir ve neden otomasyonlarda sorun yaratır?

State kaybı, bir iş akışının adımlar arasında toplanan bilgileri unutmasıdır. Örneğin, hasta daha önce hangi günü istediğini söylemişse, sistem bunu hatırlamaz ve aynı soruyu tekrar sorar. Bu, müşteri deneyimini bozar ve sürecin tamamlanmasını engeller.

n8n ile state kaybı nasıl önlenebilir?

n8n'de state kaybını önlemek için harici bir veritabanı (PostgreSQL, Redis vb.) kullanarak her oturuma ait bilgileri kalıcı hale getirin. Ayrıca, Webhook düğümünde 'Respond to Webhook' seçeneğini etkinleştirerek aynı execution'ın bekleme süresince canlı kalmasını sağlayabilirsiniz.

Bu tür bir sorunu test ederken nelere dikkat edilmelidir?

Test sırasında mesajlar arasında uzun gecikmeler (10-30 dakika) bırakın, sunucuyu yeniden başlatın ve aynı oturum için birden fazla mesaj gönderin. Bu senaryolar, state yönetiminin zayıf noktalarını ortaya çıkaracaktır.

Kliniğiniz için Buyo'yu deneyin

WhatsApp, telefon ve web sitenizde 7/24 çalışan AI randevu asistanı. Tek seferlik kurulum + işletmenize özel aylık abonelik, taahhüt yok.