Mantık Node'ları (IF, Switch, Merge)
Karar verme ve dallanma: IF, Switch ile koşullar; Merge ile akışları birleştirme; No Operation ve Wait kullanımı.
Bu bölümde
Gerçek dünya senaryoları nadiren düz bir doğrultudur — 'eğer şuysa böyle, değilse şöyle yap' kararları her workflow'da karşınıza çıkar. Bu bölümde IF (iki yönlü), Switch (çok yönlü), Merge (akışları birleştirme) ve Wait (gecikme) node'larıyla workflow'larınızı esnetmeyi öğreneceksiniz.
Konular
- IF node: koşullu dallanma (true/false)
- Switch node: çoklu yönlendirme
- Merge node: akışları birleştirme stratejileri
- Wait node: gecikme ve zaman aşımı
- No Operation kullanım senaryoları
- Sub-workflow ile mantığı bölme
IF node: iki yönlü dallanma
IF node tek bir koşul (veya AND/OR ile birden fazla koşul) değerlendirir ve workflow'u iki yola ayırır: true (üst çıkış) ve false (alt çıkış). Bir lead skorlama akışında klasik kullanım: {{ $json.score >= 70 }} → true ise satışa ata, false ise nurturing'e gönder. Karşılaştırma operatörleri zengindir: equals, not equals, contains, starts with, regex match, is empty. Bir nokta: IF'in 'true' branch'i sadece koşulu sağlayan item'ları, 'false' branch'i sağlamayan item'ları taşır — yani veriyi filtreleme aracı olarak da iş görür.
Switch node: çok yönlü yönlendirme
Üçten fazla yönlü dallanma gerektiğinde Switch IF'ten çok daha temizdir. Rules modunda her bir kural ayrı bir çıkış oluşturur (örn. 'priority = high' → 1. çıkış, 'priority = medium' → 2., 'priority = low' → 3.). Expression modunda ise bir expression sonucu hangi çıkışa gideceğini belirler. Bir destek ticket sınıflandırma akışında Switch ile {{ $json.category }} değerine göre talebi ilgili ekibe (satış, teknik, fatura) yönlendirebilirsiniz. Hangi çıkışın hangi numarayla eşleştiğini görmek için node üzerinden çıkışlara isim verin.
Merge node: akışları birleştirme
Bir IF veya Switch'ten ayrılan akışı tekrar birleştirmek (örn. her iki yolun sonunda CRM'e kayıt atmak) için Merge kullanılır. Birkaç önemli mod var. Append: tüm akışlardan gelen item'ları tek listeye ekler — toplam sayım için iyi. Combine: aynı item'ın iki node'dan gelen alanlarını yan yana birleştirir (SQL JOIN benzeri — index, key veya position'a göre). Choose Branch: 'hangi akış geldiyse onu geçir' — IF sonrası tekrar tek hatta dönmek için en sık kullanılan mod.
Wait node: gecikme ve zamanlama
Wait, bir adımı belirli bir süre durdurur. Üç temel mod var. After Time Interval: 'X dakika/saat bekle' — bir kullanıcıya hoş geldin e-postası gönderdikten 2 gün sonra takip mesajı yollamak gibi senaryolar için. At Specified Time: belirli bir tarih/saate kadar bekle. On Webhook Call: dışarıdan bir webhook gelene kadar duraklat — bir onay sürecinde 'manager tıklayana kadar bekle' gibi insan-içeride (human-in-the-loop) akışları kurmak için ideal.
No Operation: dokümantasyon node'u
No Operation (NoOp) hiçbir şey yapmaz — sadece akışta dururlar. Neden var? İki sebep: (1) Bir IF'in 'false' branch'inde 'bilerek hiçbir şey yapma' niyetini görsel olarak belgelemek. (2) Workflow'a yorum yazmak — node adını 'Burada bir gün e-posta gönderilecek' yapıp dokümantasyon gibi bırakmak. Hız maliyeti yok ama akışın okunabilirliğini ciddi artırır.
Sub-workflow ile mantığı bölme
Bir workflow 20-30 node'u geçtiğinde okumak ve sürdürmek zorlaşır. Execute Workflow node'u, başka bir workflow'u 'fonksiyon çağrısı' gibi tetikler ve sonucunu geri döner. Tipik kullanım: 'lead-qualifier', 'email-sender', 'crm-sync' gibi yeniden kullanılabilir parçaları ayrı workflow'lar yapıp ana workflow'dan çağırmak. Bu yaklaşımla tekrar eden mantığı tek yerde tutar, test etmesi de kolaylaşır.
Bu bölümün workflow'u (n8n editör görünümü)