Değişken kullanımı
Dinamik ve güçlü otomasyonlar oluşturmak için iş akışı düğümlerinizde değişkenlere nasıl erişeceğinizi, başvuracağınızı ve çalışacağınızı öğrenin.
Giriş
Değişkenler iş akışlarınızın can damarıdır—düğümler arasında veri taşırlar ve otomasyonlarınızı dinamik ve bağlama duyarlı kılarlar. Bir düğüm her yürütmeyi tamamladığında çıktısı, sonraki düğümlerin erişip kullanabileceği bir değişken olarak kullanılabilir hale gelir.
Değişkenleri konteyner olarak düşünün; veri iş akışınızda akarken onları tutarlar. Onlara nasıl erişip manipüle edeceğinizi anlamak, güçlü otomasyonlar kurmanın anahtarıdır.
Değişkenlere erişme
ajan, iş akışınızdaki önceki düğümlerden değişkenlere erişmek için iki sezgisel yol sunar:
Yöntem 1: Çift süslü ayraç ({{}})
Değişkenlere başvurmanın en doğrudan yolu çift süslü ayraç sözdizimidir. Herhangi bir alanda {{ yazmanız yeterlidir; önceki düğümlerden tüm kullanılabilir değişkenlerin bir açılır listesini görürsünüz.
Temel sözdizimi:
{{node_name.output.field_name}}Gerçek dünya örnekleri:
{{form1.output.email}}
{{analyze_feedback.output.sentiment}}
{{api_call.output.data.userId}}
{{trigger.output.customer_name}}Yöntem 2: Çıktı seçici
Destekleyen alanlarda, değişken yollarını elle yazmak yerine görsel çıktı seçiciyi kullanabilirsiniz. Özellikle tam veri yapısından emin olmadığınızda yardımcı olur.
Nasıl kullanılır:
- Değişken seçimini destekleyen bir alana tıklayın
- Değişken seçici simgesini veya açılır menüyü arayın
- Önceki düğümlerden kullanılabilir çıktılara göz atın
- İhtiyacınız olan tam alanı seçin
Çıktı seçici doğru değişken sözdizimini otomatik üretir; hataları azaltır ve yapılandırmayı hızlandırır.
Değişken yapısını anlama
Değişkenler öngörülebilir ve çalışması kolay tutarlı bir yapı izler:
{{node_name.output.property}}Bunu parçalayalım:
node_name: Düğüme verdiğiniz benzersiz ad (ör.form1,analyze_data,http_request)output: Her düğümün ürettiği standart çıktı nesnesiproperty: Erişmek istediğiniz spesifik veri alanı
İç içe veriye erişme
Gerçek dünya verisi genellikle iç içe yapılara sahiptir. Nokta notasyonuyla derin iç içe özelliklere erişebilirsiniz:
{{node_name.output.user.profile.email}}
{{api_response.output.data.items[0].title}}
{{trigger.output.metadata.created_at}}Dizilerle çalışma
Veriniz diziler içeriyorsa, belirli öğelere dizine göre erişebilirsiniz:
{{http_request.output.results[0].name}}
{{trigger.output.attachments[2].url}}Veya tüm diziye başvurun:
{{trigger.output.tags}}
{{api_call.output.items}}Ajan çıktı yapısı
Ajan düğümlerinin yapılandırmaya göre iki çıktı türü vardır:
Bir çıktı şeması tanımlandığında:
{{agent.output.structured.summary}}
{{agent.output.structured.priority}}
{{agent.output.structured.action_items[0]}}Şema tanımlanmadığında:
{{agent.output.messages}}structured özelliği yalnızca ajan düğümünde bir çıktı şeması yapılandırdığınızda vardır. Şema yoksa konuşmaya erişmek için messages dizisini kullanın.
? ile isteğe bağlı zincirleme
Var olmayabilecek özelliklere güvenle erişmek için ? kullanın:
{{trigger.output.user?.email}}
{{agent.output.structured?.priority}}
{{http_request.output.data?.items?.[0]?.name}}Bu, veri eksikken hataları önler. Yolun herhangi bir kısmı undefined veya null ise tüm ifade hata fırlatmak yerine undefined döner.
Düğümleri yeniden adlandırdığınızda ne olur?
Düğüm adları değişkenlere bağlıdır. Bir düğümü yeniden adlandırdığınızda, o düğüme başvuran tüm değişkenler iş akışınız boyunca otomatik güncellenir—elle düzeltme gerekmez.
Otomatik değişken güncellemeleri
Diyelim ki birden fazla yerde kullanılan form1 adlı bir form tetikleyicisi düğümünüz var:
{{form1.output.email}}
{{form1.output.subject}}
{{form1.output.message}}form1’i PMApplicantForm olarak yeniden adlandırırsanız tüm başvurular otomatik güncellenir:
{{PMApplicantForm.output.email}}
{{PMApplicantForm.output.subject}}
{{PMApplicantForm.output.message}}Bu otomatik olarak şuralarda olur:
- Manuel mod alanları
- Yapay zeka istemi modu talimatları
- Kod düğümü başvuruları
- Koşul düğümü karşılaştırmaları
- Diğer tüm düğüm yapılandırmaları
En iyi uygulama: Düğümlere anlamlı adlar verin
Yeniden adlandırma sorunsuz olduğundan, düğümlere baştan net, açıklayıcı adlar vermeye zaman ayırın:
İyi düğüm adları:
ExtractCustomerDataAnalyzeSentimentSendWelcomeEmailCheckInventoryStatus
Genel adlardan kaçının:
- ❌
agent1 - ❌
http_node - ❌
trigger - ❌
action
Değişkenleri birden fazla düğümde yeniden kullanma
Değişkenlerin en güçlü özelliklerinden biri, birçok farklı düğümde birden fazla kez kullanılabilmeleridir. Bir düğüm çıktı ürettiğinde, o veri iş akışınızdaki tüm sonraki düğümler için kullanılabilir.
Temel değişken yeniden kullanımı
Aynı değişkeni birden fazla düğümde kullanın:
Trigger (form1) →
├─ Agent (analyze with {{form1.output.message}})
├─ HTTP Request (log {{form1.output.email}})
└─ Notification (alert about {{form1.output.priority}})Üç düğüm de tetikleyiciden sonra geldiği için form1.output’a eşzamanlı başvurabilir.
Kullanım senaryosu: Çok kanallı bildirimler
Aynı bilgiyi farklı kanallardan gönderin:
Agent (analyze_ticket) →
├─ Email (send {{analyze_ticket.output.summary}} to support team)
├─ Slack (post {{analyze_ticket.output.summary}} to #support)
└─ Database (log {{analyze_ticket.output.priority}} and {{analyze_ticket.output.category}})Gelişmiş değişken teknikleri
Birden fazla değişkeni birleştirme
Tek bir alanda farklı düğümlerden veri karıştırın:
New order #{{trigger.output.order_id}} from {{customer_data.output.name}} for {{trigger.output.amount}}Kod düğümlerinde değişkenler
Özel kodda değişkenlere erişmek için Kod düğümlerini kullanın. Kod düğümleri hakkında daha fazla bilgi.
Kod düğümleri yalnızca doğrudan başvurduğunuz slug’ların çıktılarını yükler. data veya diğer dinamik çıktı aramalarıyla her yukarı akış çıktısı yüklenir ve 5 MiB limitine sayılır.
const email = trigger.output.email;
const priority = analyze.output.structured?.priority || "medium";
return {
email: email,
priority: priority
};Önceki düğümlerden dosya çıktıları, Python Kod düğümlerinin doğrudan open()’a iletebileceği bir path özelliği içerir:
file = trigger["output"]["resume"][0]
with open(file["path"], "rb") as f:
content = f.read()Tam örnek için Önceki düğümlerden dosya okuma sayfasına bakın.
Yapay zeka istemi modunda değişkenler
Yapay zeka talimatlarında birden fazla değişkene başvurun:
Analyze the customer message {{trigger.output.message}} and consider their history:
- Previous purchases: {{customer_data.output.purchase_count}}
- Last contact: {{customer_data.output.last_contact_date}}
- Sentiment from last interaction: {{previous_analysis.output.sentiment}}
Provide a personalized response addressing their concern.Filtreleme ve dönüştürme
Veriyi filtrelemek veya dönüştürmek için değişkenleri kullanın:
Bir Koşul düğümünde:
{{ trigger.output.amount > 1000 }}
{{ analyze.output.structured?.priority === "high" }}
{{ customer.output.status !== "inactive" }}Tüm ifade
{{ }}içinde olmalıdır. İfade JavaScript olarak değerlendirilir.
Filtreleme için bir Kod düğümünde:
const orders = trigger.output.orders;
const highValueOrders = orders.filter((order) => order.amount > 1000);
return { filtered_orders: highValueOrders };Değişken sorun giderme
Değişken kullanılamıyor
Sorun: İstediğiniz değişken otomatik tamamlamada görünmüyor.
Yaygın nedenler:
- Düğüm henüz bağlanmamış
- Düğüm aşağı akışta (geçerli düğümden sonra)
- Düğüm henüz bir test çalıştırmasında yürütülmemiş
Çözüm: Değişkeni üreten düğümün, iş akışı grafiğinizde onu kullanmaya çalışan düğümden önce geldiğinden emin olun.
Undefined veya null değerler
Sorun: Değişken var ama undefined veya null dönüyor.
Yaygın nedenler:
- Kaynak düğüm başarısız oldu veya boş veri döndürdü
- Alan yolu yanlış
- İsteğe bağlı veri sağlanmadı
Kaynak düğüm Devam et (hata çıktısını kullanarak) stratejisiyle başarısız olduysa, çıktısı olağan alanlar yerine hatayı içerir. Buna {{node_name.output.error}} ile başvurun.
Çözüm:
// Provide defaults in Code nodes
const email = trigger.output.email || "unknown@example.com";
const amount = trigger.output.amount || 0;
// Check existence first
if (trigger.output && trigger.output.email) {
// Safe to use
}Yanlış veri türü
Sorun: Değişken beklenmeyen bir veri türü içeriyor.
Çözüm: Gerçek veri yapısını görmek için bir test çalıştırmasından sonra kaynak düğümün çıktı sekmesini kontrol edin.
// Debug by logging the variable
ld.log(typeof trigger.output.amount);
ld.log(JSON.stringify(trigger.output, null, 2));Hızlı başvuru
Değişken sözdizimi kısa listesi
| Kullanım senaryosu | Sözdizimi | Örnek |
|---|---|---|
| Temel alan erişimi | {{node.output.field}} | {{trigger.output.email}} |
| İç içe nesne | {{node.output.object.property}} | {{user.output.profile.age}} |
| Dizi öğesi | {{node.output.array[index]}} | {{items.output.list[0]}} |
| Dizide iç içe | {{node.output.array[0].property}} | {{orders.output.items[0].price}} |
| Tüm dizi | {{node.output.array}} | {{trigger.output.tags}} |
| Ajan yapılandırılmış çıktı | {{agent.output.structured.field}} | {{analyze.output.structured.summary}} |
| İsteğe bağlı zincirleme | {{node.output.field?.property}} | {{trigger.output.user?.email}} |
| Tek dizede birden fazla | Order {{id}} for {{amount}} | Order {{trigger.output.id}} for {{trigger.output.amount}} |
En iyi uygulamalar
Değişkenlerin kendini belgelemesi için düğümleri net adlandırın: {{AnalyzeCustomerFeedback.output.sentiment}}, {{agent1.output.sentiment}}’ten çok daha nettir
Bir düğüm ekledikten sonra bir test çalıştırın ve çıktısını incelemek için düğüme tıklayın. Bu, aşağı akış düğümlerinde kullanmadan önce veri yapısını doğrular.
İsteğe bağlı alanlar için varsayılan değerler kullanın:
const priority = analyze.output.priority || "medium";
const tags = trigger.output.tags || [];{{node.output.data.items[0].meta.tags[2].value}} gibi derin iç içe yollar yazıyorsanız, önce veri yapısını basitleştirmek için bir Kod düğümü kullanmayı düşünün.
Özellikle ekip iş akışlarında karmaşık değişken mantığı kullanırken Kod düğümlerine yorum veya düğümlere açıklama ekleyin.
Sonraki adımlar
Değişkenleri anladığınıza göre, bunları farklı bağlamlarda etkili kullanmayı keşfedin:
- Alan modları — Değişkenleri Otomatik, Manuel ve Yapay zeka istemi modlarında nasıl kullanacağınızı öğrenin
- Kod düğümü — Özel kodla değişkenleri dönüştürün ve manipüle edin
- Koşul düğümü — Dinamik yönlendirme mantığı oluşturmak için değişkenleri kullanın
- Temel kavramlar — Değişkenlerin büyük resme nasıl oturduğunu anlayın
SSS
Sonraki bir düğümün tetikleyiciden veya önceki bir düğümden veriye ihtiyacı olduğunda değişkenleri kullanın. Değişkenler, kullanıcı girdilerini, API yanıtlarını, üretilmiş metni veya çıkarılmış değerleri adımlar arasında ileterek iş akışlarını dinamik kılar.
Değişken yolunu, önceki düğümün gerçekten değeri üretip üretmediğini ve değerin geçerli çalıştırma için var olup olmadığını kontrol edin. Veri iç içeyse tam alan adını ve yapıyı doğrulayın.