Bu rehberde: Kutuların alanlarına yazdığınız
{{ ... }}kalıplarını öğrenirsiniz. Bu kalıplar "önceki kutudan gelen veriyi buraya koy" demenin yoludur. 25 hazır örnek var.⏱ 15 dakika
İfade nedir?
Bir kutunun metin alanına {{ $json.body }} yazarsanız, çalışma anında bu kalıp önceki kutudan gelen gönderi metniyle değiştirilir. Kalıba ifade denir.
İfadeler Excel formüllerine benzer: alan okuma, karşılaştırma, basit metin işlemleri. Kod yazmanız gerekmez.
Kural: Bir alan yalnızca tek bir {{ }} içeriyorsa değer olduğu gibi geçer (liste, sayı, evet/hayır). Etrafında metin varsa hepsi metne çevrilir. Bu yüzden mediaUrls: {{ $json.mediaUrls }} bir liste olarak geçer.
En kolay yol: fx yardımcısı

- Bir metin alanının yanındaki fx düğmesine basın. ②'de önceki kutuların gerçek çıktıları listelenir.
- İstediğiniz alana tıklayın. İfade ①'e otomatik yazılır.
- Yardımcı, ifadeyi son çalıştırmanın gerçek verisiyle anında değerlendirir. Sonucu görürsünüz.
İpucu: İlk kez ifade yazıyorsanız önce bir test çalıştırması yapın. Böylece fx yardımcısında gerçek veri görünür.
Kullanabileceğiniz değişkenler
| Değişken | Ne verir |
|---|---|
$json | Geçerli öğenin verisi. En sık kullanılan |
$item | Geçerli öğenin tamamı: $item.json, $item.binary |
$item.binary.<anahtar> | Dosya verisi (görsel): { mimeType, fileName, url, base64, size } |
$node["Kutu adı"].json | O kutunun ilk çıktı öğesi |
$node["Kutu adı"].all() | O kutunun tüm çıktı öğeleri (liste) |
$node["Kutu adı"].item | Geçerli öğe ile aynı sıradaki öğe |
$vars | İş akışı değişkenleri (Ayarlar → Değişkenler) |
$project | Proje bilgileri: name, websiteUrl, industry, targetAudience, brandVoice, goals, locale, timezone, offerings, competitors |
$run | Çalıştırma bilgisi: id, startedAt, triggerType, testMode |
$now | Şu anki zaman (UTC, ISO biçimi) |
$today | İş akışı saat diliminde bugünün tarihi, YYYY-MM-DD |
$index | Geçerli öğenin sırası (0'dan başlar) |
$env | Kullanılamaz. Ortam değişkenlerine erişim yoktur. Sırlar için entegrasyon veya $vars kullanın |
Olmayan bir alanı okursanız hata çıkmaz; boş döner. Zorunlu bir alanın boş kalması ise kutuyu hata ile durdurur.
Yapabileceğiniz işlemler
- Karşılaştırma:
===(eşit),!==(eşit değil),>,>=,<,<= - Mantık:
&&(ve),||(veya),!(değil),a ? b : c(şart),??(boşsa şunu kullan) - Aritmetik:
+ - * / % - Metin:
.toLowerCase(),.toUpperCase(),.trim(),.includes(),.startsWith(),.slice(),.replace(),.split() - Liste:
.length,.map(),.filter(),.find(),.join(),.slice(),.some(),.every() - Nesne:
Object.keys(),Object.values(),JSON.stringify() - Sayı/tarih:
Number(),Math.round/min/max,new Date(),Date.now() - Yardımcılar:
$date(değer, "DD.MM.YYYY")(YYYY, MM, DD, HH, mm, ss kullanılabilir; saatler UTC'dir),$truncate(metin, 120),$slug(metin),$pick(nesne, ["alan1", "alan2"]),$first(liste),$last(liste)
Fonksiyon tanımlama, döngü (for, while), require, fetch, process engellenmiştir. Karmaşık dönüşümler için Kod kutusunu kullanın.
25 örnek
Temel alan okuma
- Gönderi metni:
{{ $json.body }} - İç içe alan:
{{ $json.body.email }}(webhook tetikleyicisinde form verisibodyaltında gelir) - Liste elemanı:
{{ $json.hashtags[0] }} - Boşsa varsayılan:
{{ $json.name ?? "Değerli müşterimiz" }}
Başka kutuya başvurma
- İlk öğe:
{{ $node["Müşteri Adayı Puanlayıcı"].json.reportMarkdown }} - Tüm öğelerden alan toplama:
{{ $node["Content Creator"].all().map(i => i.json.platform).join(", ") }} - Sayım:
{{ $node["Find leads"].all().length }} aday bulundu - Eşleşen öğe:
{{ $node["Görsel üret"].item.binary.image.url }}
Değişkenler ve proje
- Hedef profil:
Find prospects matching: {{ $vars.icp }} - Marka adı:
{{ $project.name }} için samimi destek asistanı - Ton:
Şu tonda yaz: {{ $project.brandVoice.tone }} - UTM'li link:
{{ $project.websiteUrl }}/blog?utm_source={{ $json.platform.toLowerCase() }}&utm_medium=social
Koşullar (Eğer, Süz, olay filtresi)
- Puan eşiği ve durum:
{{ $json.score >= 70 && $json.status === "NEW" }} - Devir kontrolü:
{{ $json.handoff === true }} - Anahtar kelime:
{{ $json.text.toLowerCase().includes("fiyat") || $json.text.toLowerCase().includes("ücret") }} - Görsel yok mu:
{{ !$json.mediaUrls || $json.mediaUrls.length === 0 }} - Etiket var mı:
{{ ($json.tags ?? []).includes("vip") }}
Zaman
- Tarihli başlık:
Adaylar – hafta {{ $today }} - Yarın 09:00:
{{ new Date(Date.now() + 24*60*60*1000).toISOString().slice(0,10) }}T09:00:00+03:00 - Biçimli tarih:
{{ $date($now, "DD.MM.YYYY HH:mm") }}
Metin işleme
- Kısaltma:
{{ $truncate($json.body, 250) }} - Çok satırlı e-posta gövdesi:
Merhaba {{ $json.name.split(" ")[0] }},
{{ $project.name }} olarak {{ $vars.offer }} konusunda yardımcı olabiliriz.
{{ $json.company ? "Özellikle " + $json.company + " gibi şirketler için." : "" }}
Saygılarımızla
- JSON gövdesi (HTTP kutusu):
{ "text": "{{ $json.body }}", "platform": "{{ $json.platform }}", "runId": "{{ $run.id }}" } - Dinamik kanal: Mesaj gönder kutusunda
channel: {{ $json.channel }},to: {{ $json.contactId }} - Görsel açıklaması:
{{ $json.imagePrompt ?? "Minimal flat illustration about " + $json.topic }}
Öğe eşleştirme kuralları
- Bir kutuya 3 öğe gelirse alanlar 3 kez, her öğe için ayrı çözümlenir. Çoğu kutu öğe başına bir çıktı üretir.
$node["X"].jsonher zaman X'in ilk öğesini verir. Öğeleri birebir eşlemek için.itemkullanın. Emin değilseniz gereken alanı Alan ayarla kutusuyla öğeye taşıyın; sonra$jsonile okuyun.- Birleştir kutusundan sonra öğeler birleşir.
- Ajan kutuları gelen tüm öğeleri bağlam olarak alır; görev metnindeki ifadeler yalnızca ilk öğe için çözümlenir.
Hata ayıklama
| Belirti | Neden | Çözüm |
|---|---|---|
Boş / undefined görünüyor | Kutu adı yanlış (büyük/küçük harf, boşluk) veya alan adı yanlış | fx yardımcısında gerçek veriyi inceleyin |
| Liste yerine metin geldi | {{ }} etrafında boşluk veya metin var | Alanı yalnızca {{ ... }} yapın |
false dalındaki kutu true verisini görmüyor | Dallar ayrıdır | Gerekli alanı Alan ayarla ile öğeye taşıyın |
| JSON alanında hata | Tırnak kullanımı | Metin değerleri tırnak içine alın; liste/nesne değerleri almayın |

Sık sorulan sorular
Kod bilmeden ifade yazabilir miyim?
Evet. fx düğmesi ifadeyi sizin için yazar. Karşılaştırma ve ?? gibi birkaç kalıbı öğrenmeniz yeterlidir.
Kutu adını değiştirdim; ifadeler bozulur mu?
Editör $node["Eski ad"] başvurularını otomatik günceller. Yalnızca Kod kutusundaki metinleri elle düzeltin.
Gizli bir anahtarı ifadede kullanabilir miyim?
$env kapalıdır. Anahtarı Ayarlar → Değişkenler altına yazıp {{ $vars.anahtar }} ile kullanın; daha iyisi, entegrasyon olarak bağlayın.
Tarih neden UTC?
$now her zaman UTC'dir. Yerel tarih için $today (iş akışı saat dilimi) veya $date kullanın.