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.companyNamevb.
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 }}
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.

Sekiz kategori
1. Chat Context
Mevcut mesaj ve sohbet hakkında veriler.
| Değişken | Açıklama |
|---|---|
$question | Kullanıcının sohbet kutusundan ya da API'den gelen mesajı |
$chat_history | Kullanıcı ile yapay zeka arasındaki geçmiş sohbet |
$current_date_time | Geçerli tarih ve saat |
$runtime_messages_length | LLM ve Agent arasında değiş tokuş edilen toplam mesaj sayısı |
$file_attachment | Sohbetten 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şken | Açıklama |
|---|---|
$uploads | Tam uploads nesnesi (JSON olarak) |
$uploads.images | Yüklenen görsellerin dizisi |
$uploads.videos | Yüklenen videoların dizisi |
$uploads.audios | Yüklenen ses dosyalarının dizisi |
$uploads.all | Yüklenen tüm dosyalar |
$uploads.audios.firstTranscript | İlk ses transkripti (konuşma-metin etkinse) |
$uploads.audios.combinedTranscript | Tüm ses transkriptleri birleştirilmiş |
$uploads.audios.hasTranscripts | Herhangi bir sesin transkripti varsa true |
$uploads.audios.transcriptCount | Transkripti 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şken | Açıklama |
|---|---|
$flow.sessionId | Geçerli oturum kimliği |
$flow.chatId | Geçerli sohbet kimliği |
$flow.chatflowId | Geçerli akışın kimliği |
$flow.source | Tetikleyici kaynağı: bir webhook adı, "api" ya da "ui" |
$flow.manual.is_manual_mode | Oturum manuel moddayken (AI duraklatılmış) true |
$flow.manual.is_manual_message | Mevcut mesaj bir operatörden geliyorsa true |
$flow.manual.from | Bir 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.fireHistoryId | Bu belirli zamanlama tıklamasının kimliği (yalnızca zamanlanmış çalışmalarda ayarlanır) |
$flow.scheduleName | Zamanlanmış otomasyonun adı — bir akış birkaç zamanlamaya hizmet ettiğinde buna göre dallanın |
$flow.triggerType | Akışı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 }}).
.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şken | Açı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şken | Açıklama |
|---|---|
$assets.<name>.url | Adlandırılmış dosyanın public URL'si |
$assets.all | Tü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
| Alan | Açıklama |
|---|---|
eventType | message · comment · mention · story_reply |
senderId | Gönderenin Instagram kullanıcı kimliği |
senderUsername | Gönderenin Instagram @kullanıcı adı |
senderName | Gönderenin görünen adı |
recipientId | Instagram hesap kimliğiniz |
commentId | Yorum kimliği (yorumları yanıtlamak için) |
mediaId | Medya kimliği (gönderi/reel bağlamı) |
postCaption | Instagram gönderisinin açıklaması (yorumlar için) |
postPermalink | Gönderiye kalıcı bağlantı |
timestamp | Mesaj zaman damgası |
mediaUrl | Varsa medya eki URL'si |
mediaType | image · video · audio |
Örnek: {{$webhook.instagram-dm.senderUsername}}. Bkz. Instagram trigger.
WhatsApp
| Alan | Açıklama |
|---|---|
eventType | Mesaj türü: text · image · video · audio · document · sticker · location · contacts · button · interactive · nfm_reply · reaction · order |
senderId | Gönderenin telefon numarası (uluslararası biçim) |
recipientPhoneNumberId | WhatsApp Business numara kimliğiniz |
timestamp | Mesaj zaman damgası |
messageId | Benzersiz mesaj kimliği |
mediaUrl | Varsa medya eki URL'si |
mediaId | Medya kimliği (medya indirmek için) |
mimeType | Medya MIME türü (örn. image/jpeg) |
caption | Varsa medya açıklaması |
location | Konum nesnesi (enlem, boylam, ad, adres) |
buttonPayload | Buton yükü (buton yanıtları) |
listReplyId | Liste yanıtı kimliği (etkileşimli liste yanıtları) |
reactionEmoji | Tepki 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) |
formResponseText | Aynı cevapların okunabilir etiket: değer özeti — doğrudan bir mesaja veya prompt'a koyabilirsiniz |
flowToken | Form gönderimiyle birlikte dönen WhatsApp Flow token'ı |
flowChatflowId | Flow'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 |
order | eventType order olduğunda gönderilen sepet: { items, total, currency, itemCount, catalogId, note } |
order.total | Sipariş toplamı — tüm satır kalemlerinin toplamı |
order.currency | Sipariş para birimi (örn. TRY, USD) |
order.itemCount | Siparişteki farklı ürün sayısı |
order.items | Satır kalemleri: [{ sku, quantity, unitPrice, lineTotal, currency }] |
order.note | Müşterinin sepeti gönderirken eklediği serbest metin |
referredProduct | Müş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.sku | Müşterinin görüntülediği ürünün SKU'su |
Örnek: {{$webhook.whatsapp-support.eventType}}. Bkz. WhatsApp trigger.
Zoho CRM
| Alan | Açıklama |
|---|---|
module | Olayın tetiklendiği Zoho modülü (örn. Leads, Deals) |
operation | create · edit · delete |
ids | Etkilenen kayıt kimliklerinin dizisi |
serverTime | Olayın Zoho sunucu zaman damgası |
affectedFields | Değişen alan adları (yalnızca edit olayları) |
record | Tam 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.
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.