Koşullar ve dallanma
Müşterileri söylediklerine, kim olduklarına ya da haklarında bildiklerinize göre farklı yollara gönderin.
Her görüşme aynı yoldan gitmek zorunda değil. Geri dönen bir VIP ile ilk kez gelen bir ziyaretçi farklı selamlamaları hak eder. Bir iade talebi ile bir ürün sorusu farklı yollara aittir. Dallanma, bir flow'un bu kararları verme biçimidir.
İşin aracı Conditional action'ıdır. Bildiklerinize bakar, koyduğunuz kurallarla karşılaştırır ve görüşmeyi eşleşen yola gönderir.
Bir kararın şekli
Bir Conditional, yukarıdan aşağıya kontrol edilen bir veya daha fazla koşul grubu tutar. Her grup özetle şunu söyler: "şu doğruysa buraya git." Eşleşen ilk grup kazanır ve görüşme o yolu izler. Hiçbiri eşleşmezse tanımladığınız varsayılan yolu izler.
Müşterinin ne istediğine göre yönlendirmeyi düşünün:
Conditional
├─ if intent = "refund" → Refund flow
├─ if intent = "shipping" → Order-lookup flow
└─ otherwise → Agentic AI (genel yardım)Her grup bir değişkeni (bildiğiniz bir şey — bir metafield, toplanmış bir cevap, tespit edilmiş bir niyet) bir operatör kullanarak bir değerle karşılaştırır.
Operatörler: kontrol türleri
Operatör, karşılaştırmanın türüdür. Vivollo size metin, sayı, tarih ve varlık durumunu kapsayan on altı tane verir. Çoğunu hemen tanıyacaksınız:
| Operatör | Şunu kontrol eder: değer… | Şuna iyi gelir |
|---|---|---|
| Equals / Does not equal | tam olarak eşleşiyor mu (ya da eşleşmiyor mu) | her tür |
| Contains / Does not contain | içinde herhangi bir yerde geçiyor mu | metin, listeler |
| Starts with / Ends with | bir metinle başlıyor ya da bitiyor mu | metin |
| Is empty / Is not empty | hiç değeri yok mu (ya da var mı) | metin, listeler |
| Is present / Is not present | hiç var mı | seçimler, kullanıcılar |
| More than / Less than | daha büyük mü, daha küçük mü | sayılar, liste uzunluğu |
| Between | bir aralığın içine düşüyor mu | tarihler, saatler |
| After / Before | sonra mı, önce mi geliyor | tarihler, saatler |
| Regex | bir kalıba uyuyor mu | gelişmiş metin eşleştirme |
Birkaçı "değersizdir" — Is empty, Is not empty, Is present, Is not present — çünkü yalnızca bir şeyin var olup olmadığını sorarlar, dolayısıyla karşılaştıracak bir şey yoktur.
More than ve Less than listeler konusunda akıllıdır: bir sayı için sayıyı,
bir liste için sayımı karşılaştırırlar. Yani cart_items More than 3, "sepette
üçten fazla ürün var" demektir.
Bir grup içinde AND ile OR
Tek bir grup birkaç kriter tutabilir ve bunların nasıl birleşeceğini siz seçersiniz:
- Match all (AND) — her kriter doğru olmalı. "Müşteri VIP ve sipariş toplamı 1000'in üzerinde."
- Match any (OR) — herhangi biri yeterli. "Mesaj 'iade' veya 'geri gönderme' veya 'paramı geri' içeriyor."
Tam bir duruma daraltmak için all'u, aynı şeyi söylemenin birkaç farklı yolunu yakalamak için any'yi kullanın.
Bunun yerine dalı AI'a seçtirin
Bazen dallanmak istediğiniz şey derli toplu bir değişken değildir — müşterinin söylediğinin anlamıdır. Bunun için ham bir Conditional yerine User Intent'e başvurun.
User Intent, bir mesajı tanımladığınız kategorilere ayırmak için AI kullanır, sonra otomatik olarak yönlendirir:
User Intent
├─ "complaint" → Apology + handoff
├─ "product question" → Reply From Documents
└─ "track order" → Order-lookup flowHer niyete kısa bir etiket ve tek satırlık bir açıklama verirsiniz; insanların aslında nasıl ifade ettiklerinin karmaşasıyla AI ilgilenir. Genel bir kural olarak:
- Zaten bildiğiniz olguları kontrol ediyorsanız (bir sayı, bir etiket, toplanmış bir alan) Conditional ile dallanın.
- Müşterinin ne demek istediğini yorumluyorsanız User Intent ile dallanın.
→ İkisinin de tüm ayarları: Flow control action'ları ve AI & data action'ları.
İşlenmiş bir örnek: VIP hızlı şeridi
Geri dönen yüksek değerli müşterileri hemen bir insana, geri kalan herkesi de AI'a yönlendirelim:
Fallback
→ Conditional
if returning_customer = true AND lifetime_value More than 5000
→ Send Message ("Tekrar hoş geldiniz! Sizi müşteri temsilcinize bağlıyorum.")
→ Assign User (müşteri temsilcisi)
otherwise
→ Agentic AIConditional, müşteri hakkında zaten bildiklerinizi kontrol eder — kayıtlarında taşınan özellikler ve metafield'ler — dolayısıyla ayrıca eklenecek bir "onları araştır" adımı yoktur.
Birkaç blokta gerçekten akıllı bir ön kapı kurdunuz: VIP'ler kendilerini tanınmış hisseder, geri kalan herkes anında yardım alır ve gereksiz yere kimse bekletilmez.
Dalları derli toplu tutun
Biraz disiplin, flow'lar büyüdükçe onları okunabilir tutar:
- Grupları en özelden en genele doğru sıralayın. İlk eşleşme kazandığından dar kuralları geniş olanların üstüne koyun.
- "otherwise" yolunu her zaman tanımlayın. Bir müşteriyi asla çıkmaz sokakta bırakmayın.
- Bir dal büyüdüğünde onu kendi flow'una taşıyın ve Redirect to Flow ile ona atlayın — bkz. Tekrar kullanılabilir flow'lar ve zamanlama.
Dallanma, bir flow'un bir senaryo olmaktan çıkıp muhakeme gibi hissettirmeye başladığı yerdir. Sırada bu dalları tekrar kullanılabilir hale getirmek ve flow'unuza sessizliği yönetmeyi öğretmek var.