Ana içeriğe geç

Değişkenler Referansı

Değişkenler, canlı verileri akışınıza çekmenizi sağlar — kullanıcının mesajı, önceki bir node'un çıktısı, bir webhook yükü ve daha fazlası. Düzenleyicideki neredeyse her metin alanı bunları kabul eder. Bu sayfa eksiksiz referanstır.

{{ }} ve $ — sözdiziminin iki parçası

Akılda tutulması gereken iki şey vardır:

  • {{ }} bir değişkeni sarar; böylece Flowera onu çalışma zamanında gerçek bir değerle değiştirmesi gerektiğini bilir. Çift kıvırcık parantez içindeki her şey bir ifade olarak ele alınır.
  • $ o parantezlerin içinde yer alan çalışma zamanı değerlerinin önüne gelir — $question, $flow.state.name, $vars.companyName vb.

Yani neredeyse her zaman bunları birlikte yazarsınız:

{{$question}}
{{$flow.state.name}}
{{$vars.companyName}}

Node çıktıları istisnadır — bunlar $ olmadan, node'un etiketiyle referanslanır:

{{ Sales Agent }}
Değişkenleri düz metin olarak yazmayın

Bir değişken yalnızca paletten eklendiğinde ya da {{ açılır menüsünden seçildiğinde çalışır — onu düzgün bir referansa dönüştüren şey budur. {{$question}} ifadesini düz metin olarak elle yazarsanız, çözümlenmek yerine çıktınızda birebir görünebilir. Emin değilseniz, onu silin ve paletten yeniden ekleyin.

Bir değişken eklemenin iki yolu

Değişken paleti — mevcut her değişkeni kategoriye göre gruplanmış olarak listeleyen, bir arama kutusuna sahip bir panel.

  • Onu açmak için değişken kabul eden herhangi bir alana ya da etiketinin yanındaki mor {x} simgesine tıklayın.
  • Mobilde, {x} düğmesine dokunun; palet alttan yukarı kayar.

Satır içi {{ önerileri — bir alana doğrudan {{ yazın ve eşleşen değişkenlerle bir otomatik tamamlama açılır menüsü belirir. Filtrelemek için yazmaya devam edin.

Her ikisi de aynı listeden okur; bu yüzden her zaman senkronize kalırlar.

Müşterinin sorusu gibi mevcut değişkenleri gösteren değişken paleti


Sekiz kategori

1. Chat Context

Mevcut mesaj ve sohbet hakkında veriler.

DeğişkenAçıklama
$questionKullanıcının sohbet kutusundan ya da API'den gelen mesajı
$chat_historyKullanıcı ile yapay zeka arasındaki geçmiş sohbet
$current_date_timeGeçerli tarih ve saat
$runtime_messages_lengthLLM ve Agent arasında değiş tokuş edilen toplam mesaj sayısı
$file_attachmentSohbetten yüklenen dosyalar

Node başına bir geçmiş varyantı olan $chat_history.<node_name>, tek bir LLM/Agent node'unun geçmişini verir (node etiketi küçük harfe çevrilir ve boşluklar alt çizgiye dönüştürülür — "Sales Agent" $chat_history.sales_agent olur).

2. Upload Context

Bu tur gönderilen medya dosyaları. Tam liste için Yüklemeler ve dosyalar sayfasına bakın.

DeğişkenAçıklama
$uploadsTam uploads nesnesi (JSON olarak)
$uploads.imagesYüklenen görsellerin dizisi
$uploads.videosYüklenen videoların dizisi
$uploads.audiosYüklenen ses dosyalarının dizisi
$uploads.allYüklenen tüm dosyalar
$uploads.audios.firstTranscriptİlk ses transkripti (konuşma-metin etkinse)
$uploads.audios.combinedTranscriptTüm ses transkriptleri birleştirilmiş
$uploads.audios.hasTranscriptsHerhangi bir sesin transkripti varsa true
$uploads.audios.transcriptCountTranskripti olan ses sayısı
$uploads.audios[0].transcriptİlk sesin transkripti
$uploads.audios[0].nameİlk sesin dosya adı
$uploads.images[0].nameİlk görselin dosya adı
$uploads.videos[0].nameİlk videonun dosya adı

3. Akış Değişkenleri

Mevcut çalışma hakkında bağlam — kim, nerede ve nasıl tetiklendiği.

DeğişkenAçıklama
$flow.sessionIdGeçerli oturum kimliği
$flow.chatIdGeçerli sohbet kimliği
$flow.chatflowIdGeçerli akışın kimliği
$flow.sourceTetikleyici kaynağı: bir webhook adı, "api" ya da "ui"
$flow.manual.is_manual_modeOturum manuel moddayken (AI duraklatılmış) true
$flow.manual.is_manual_messageMevcut mesaj bir operatörden geliyorsa true
$flow.manual.fromBir operatör mesajının nereden geldiği: "panel" (Flowera UI) ya da "instagram" (yerel uygulama); müşteri mesajları için boş
$flow.scheduledRunIdÜst zamanlanmış otomasyonun kimliği (yalnızca zamanlanmış çalışmalarda ayarlanır)
$flow.fireHistoryIdBu belirli zamanlama tıklamasının kimliği (yalnızca zamanlanmış çalışmalarda ayarlanır)
$flow.scheduleNameZamanlanmış otomasyonun adı — bir akış birkaç zamanlamaya hizmet ettiğinde buna göre dallanın
$flow.triggerTypeAkışın nasıl tetiklendiği: "chatInput", "webhookInput" ya da "schedule"

Zamanlama değişkenleri, zamanlanmamış çalışmalarda hiçbir şeye çözümlenmez; bu yüzden her yerde güvenle referanslanabilir. $flow.manual.* değerleri için Manuel mod sayfasına bakın.

4. Flow State

Akış çalışırken tanımladığınız ve güncellediğiniz adlandırılmış değerler. Herhangi bir state anahtarını şununla okuyun:

{{$flow.state.<key>}}

State anahtarları dinamiktir — bunları Başlangıç node'unda oluşturur ve çalışma sırasında node'larla güncellersiniz. Ayrılmış bir anahtar olan $flow.state.sessionLabels, Flowera tarafından yönetilir (bkz. Oturum etiketleri). State'in nasıl çalıştığı ve Lead'lerinizi nasıl beslediğinin tam resmi için Flow state sayfasına bakın.

5. Custom Değişkenler ($vars)

Bir kez yönettiğiniz ve her akışta yeniden kullandığınız çalışma alanı düzeyindeki değerler:

{{$vars.companyName}}
{{$vars.supportEmail}}

Şirket adınız, bir destek adresi ya da bir API temel URL'si gibi şeyler için harikadır. Bkz. Özel değişkenler.

6. Node Outputs

Her node, sonraki node'ların node'un etiketiyle referanslayabileceği bir çıktı üretir — etiket tek başına referansın tamamıdır ve size node'un metin sonucunu verir:

{{ Sales Agent }}

Palette yalnızca geçerli node'dan önce çalışan node'lar sunulur. Bir node'un yapılandırılmış çıktısı olduğunda, her alan da kendi değişkeni olarak görünür ({{ LLM 0.email }}).

Etiketin sonuna .output.content eklemeyin

{{ Sales Agent.output.content }} hiçbir şeye çözümlenmez — .output. biçimi node'un etiketiyle değil, yalnızca dahili id'siyle eşleştirilir; dolayısıyla müşteriye ham metin gider. Etiketin kendisi ({{ Sales Agent }}) zaten metin içeriğini döndürür.

7. İterasyon

Bir İterasyon döngüsünün içinde kullanılabilir:

DeğişkenAçıklama
$iterationÜzerinde döngü yapılan geçerli öğe. JSON öğeleri için nokta gösterimini kullanın: $iteration.name

8. Dosyalar

Çalışma Alanınızın dosya kütüphanesindeki dosyalar (logolar, belgeler, ürün görselleri). Yalnızca public dosyalar görünür.

DeğişkenAçıklama
$assets.<name>.urlAdlandırılmış dosyanın public URL'si
$assets.allTüm public dosyalar bir dizi olarak

Bkz. Yüklemeler ve dosyalar.


Webhook yükü değişkenleri

Bir akış bir webhook tarafından tetiklendiğinde, gelen veriler webhook'un adı altında kullanılabilir:

{{$webhook.<webhookName>.<field>}}

Özel webhook'lar için, yükteki herhangi bir alana nokta ve köşeli parantez gösterimiyle doğrudan erişilebilir ($webhook.crm.customer.orders[0].id), ayrıca $webhook.<name>.payload.raw ve $webhook.<name>.payload.parsed. Doğrudan alan erişimi, paletin alan adlarını bilmesi için webhook yapılandırmasında bir Örnek Payload gerektirir. Bkz. Custom webhook.

Kanal tetikleyicileri, sabit bir hazır alan kümesi ekler — yük eşlemesi gerekmez.

Instagram

AlanAçıklama
eventTypemessage · comment · mention · story_reply
senderIdGönderenin Instagram kullanıcı kimliği
senderUsernameGönderenin Instagram @kullanıcı adı
senderNameGönderenin görünen adı
recipientIdInstagram hesap kimliğiniz
commentIdYorum kimliği (yorumları yanıtlamak için)
mediaIdMedya kimliği (gönderi/reel bağlamı)
postCaptionInstagram gönderisinin açıklaması (yorumlar için)
postPermalinkGönderiye kalıcı bağlantı
timestampMesaj zaman damgası
mediaUrlVarsa medya eki URL'si
mediaTypeimage · video · audio

Örnek: {{$webhook.instagram-dm.senderUsername}}. Bkz. Instagram trigger.

WhatsApp

AlanAçıklama
eventTypeMesaj türü: text · image · video · audio · document · sticker · location · contacts · button · interactive · nfm_reply · reaction · order
senderIdGönderenin telefon numarası (uluslararası biçim)
recipientPhoneNumberIdWhatsApp Business numara kimliğiniz
timestampMesaj zaman damgası
messageIdBenzersiz mesaj kimliği
mediaUrlVarsa medya eki URL'si
mediaIdMedya kimliği (medya indirmek için)
mimeTypeMedya MIME türü (örn. image/jpeg)
captionVarsa medya açıklaması
locationKonum nesnesi (enlem, boylam, ad, adres)
buttonPayloadButon yükü (buton yanıtları)
listReplyIdListe yanıtı kimliği (etkileşimli liste yanıtları)
reactionEmojiTepki emojisi (mesaj tepkileri)
formResponseÇözümlenmiş WhatsApp Flow form gönderimi — yalnızca müşterinin cevapları (flow token'ı ayıklanır, flowToken'a taşınır)
formResponseTextAynı cevapların okunabilir etiket: değer özeti — doğrudan bir mesaja veya prompt'a koyabilirsiniz
flowTokenForm gönderimiyle birlikte dönen WhatsApp Flow token'ı
flowChatflowIdFlow'un hangi agentflow'dan gönderildiği; imzalı flow token'ından çözülür — tamamlanan formları yönlendirmek/ayırt etmek için kullanın
ordereventType order olduğunda gönderilen sepet: { items, total, currency, itemCount, catalogId, note }
order.totalSipariş toplamı — tüm satır kalemlerinin toplamı
order.currencySipariş para birimi (örn. TRY, USD)
order.itemCountSiparişteki farklı ürün sayısı
order.itemsSatır kalemleri: [{ sku, quantity, unitPrice, lineTotal, currency }]
order.noteMüşterinin sepeti gönderirken eklediği serbest metin
referredProductMüşterinin yazarken görüntülediği ürün (ürün kartından): { catalogId, sku }. Yalnızca siparişlerde değil, her mesaj türünde gelebilir
referredProduct.skuMüşterinin görüntülediği ürünün SKU'su

Örnek: {{$webhook.whatsapp-support.eventType}}. Bkz. WhatsApp trigger.

Zoho CRM

AlanAçıklama
moduleOlayın tetiklendiği Zoho modülü (örn. Leads, Deals)
operationcreate · edit · delete
idsEtkilenen kayıt kimliklerinin dizisi
serverTimeOlayın Zoho sunucu zaman damgası
affectedFieldsDeğişen alan adları (yalnızca edit olayları)
recordTam kayıt verisi (küçük, silme dışı olaylar için otomatik alınır)

Örnek: {{$webhook.zoho-leads.module}}. Bkz. Zoho trigger.


Koşullu Agent'taki {{$question}} tuzağı

Koşullu Agent node'u bir mesajı senaryo dallarına yönlendirir ve girdisi, kullanıcının mesajını {{$question}} olarak — dolar işaretiyle — referanslamalıdır.

Dolar işareti zorunludur

Bir Koşullu Agent içinde {{$question}}, kullanıcının mesajına çözümlenir. Dolarsız biçim {{question}} asla çözümlenmez — node girdisiz kalır ve yönlendirme bozulur. Her zaman $ işaretini ekleyin.

Sorun giderme

Bir değişken çıktıda birebir metin olarak görünüyor. Paletten eklenmek yerine elle yazılmış. Onu silin ve paletten ya da {{ açılır menüsünden yeniden ekleyin.

Bir node'un çıktısı palette yok. O node, düzenlediğiniz node'dan sonra çalışıyor. Yalnızca yukarı akıştaki node'lar kullanılabilir. Bağlantılarınızı kontrol edin.

Bir webhook değişkeni birebir kalıyor ($webhook.name.field). Canvas testi için webhook'a bir Örnek Payload ekleyin. Webhook adının tam olarak eşleştiğini ve akışın gerçekten o webhook tarafından tetiklendiğini bir kez daha kontrol edin.

İlgili