Vivollo

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 equaltam olarak eşleşiyor mu (ya da eşleşmiyor mu)her tür
Contains / Does not containiçinde herhangi bir yerde geçiyor mumetin, listeler
Starts with / Ends withbir metinle başlıyor ya da bitiyor mumetin
Is empty / Is not emptyhiç değeri yok mu (ya da var mı)metin, listeler
Is present / Is not presenthiç var mıseçimler, kullanıcılar
More than / Less thandaha büyük mü, daha küçük müsayılar, liste uzunluğu
Betweenbir aralığın içine düşüyor mutarihler, saatler
After / Beforesonra mı, önce mi geliyortarihler, saatler
Regexbir kalıba uyuyor mugeliş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 flow

Her 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 AI

Conditional, 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.

Tekrar kullanılabilir flow'lar ve zamanlama