snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,167 @@
---
title: İş Akışları Aracılığıyla E-posta Gönderme
description: İş akışı eylemlerini kullanarak kişiselleştirilmiş e-postaları otomatik olarak gönderin.
---
CRM'inizde belirli olaylar gerçekleştiğinde e-postaları otomatik olarak gönderin—yeni kişilere hoş geldiniz e-postası gönderin, fırsatları takip edin veya ekip üyelerini bilgilendirin.
## Ön Gereksinimler
İş akışlarından e-posta göndermeden önce:
1. **Ayarlar → Hesaplar** altında bir e-posta hesabı bağlayın
2. Hesabın gönderme izinlerinin etkin olduğundan emin olun
## Temel E-posta İş Akışı
### Örnek: Yeni Kişiler için Hoş Geldiniz E-postası
**Amaç**: CRM'e yeni bir kişi eklendiğinde bir hoş geldiniz e-postası gönderin.
**Kurulum**:
1. **İş akışı oluşturun**: **Ayarlar → İş Akışları** bölümüne gidin ve **+ Yeni İş Akışı**'na tıklayın
2. **Tetikleyici ekleyin**: **Kayıt Oluşturuldu** → **Kişiler** öğelerini seçin
3. **E-posta Gönder eylemini ekleyin**:
* Bir eylem eklemek için **+**'a tıklayın
* **E-posta Gönder**'i seçin
* E-postayı yapılandırın:
| Alan | Değer |
| --------- | ------------------------------------------- |
| **Kime** | `{{trigger.object.email}}` |
| **Konu** | `{{Your Company Name}}'e Hoş Geldiniz` |
| **Gövde** | `Merhaba {{trigger.object.firstName}}, ...` |
4. **Test edin ve etkinleştirin**: Örnek bir kayıtla test edin, ardından etkinleştirin
## E-postalarda Değişkenlerin Kullanımı
`{{variable}}` söz dizimini kullanarak önceki adımlardaki verilere başvurun:
```text
Hi {{trigger.object.firstName}},
Thank you for connecting with us!
Your company, {{trigger.object.company.name}}, is now in our system.
Best regards,
The Team
```
### Tetikleyicilerden Kullanılabilir Değişkenler
| Tetikleyici Türü | Yaygın Değişkenler |
| --------------------------------- | -------------------------------------- |
| **Kayıt Oluşturuldu/Güncellendi** | `{{trigger.object.fieldName}}` |
| **Manuel** | `{{trigger.selectedRecord.fieldName}}` |
| **Webhook** | `{{trigger.body.fieldName}}` |
## Gelişmiş: Koşullu E-postalar
### Örnek: Potansiyel Müşteri Kaynağına Göre Farklı E-postalar
**Amaç**: Potansiyel müşterinin geldiği kaynağa göre farklı hoş geldiniz e-postaları gönderin.
**Kurulum**:
1. **Tetikleyici**: Kayıt Oluşturuldu (Kişiler)
2. **Filtre eylemi ekleyin**:
* Koşul: `{{trigger.object.source}}` `"Website"` değerine eşittir
* Doğruysa → web sitesi hoş geldiniz e-postasıyla devam edin
3. **Diğer kaynaklar için dal**:
* Farklı kaynaklar için paralel dallar oluşturun
* Her dalın kendi E-posta Gönder eylemi vardır
## Birden Fazla Alıcıya E-posta Gönderme
### Örnek: Fırsat Kapandığında Ekibi Bilgilendirin
**Amaç**: Bir fırsat kazanıldığında satış temsilcisine ve yöneticisine e-posta gönderin.
**Kurulum**:
1. **Tetikleyici**: Kayıt Güncellendi (Fırsatlar, Aşama = "Closed Won")
2. **Kayıtları Ara**: Fırsat sahibinin yöneticisini bulun
3. **E-posta Gönder #1**: Fırsat sahibine
* Kime: `{{trigger.object.owner.email}}`
* Konu: `{{trigger.object.name}} fırsatını kapattığınız için tebrikler!`
4. **E-posta Gönder #2**: Yöneticiye
* Kime: `{{searchRecords.manager.email}}`
* Konu: `Fırsat Kazanıldı: {{trigger.object.name}}`
## Zamanlanmış Takip E-postaları
### Örnek: Toplantıdan 3 Gün Sonra Takip
**Amaç**: Bir toplantı kaydedildikten 3 gün sonra bir takip e-postası gönderin.
**Kurulum**:
1. **Tetikleyici**: Kayıt Oluşturuldu (Aktiviteler, Tür = "Toplantı")
2. **Gecikme eylemi**: 3 gün bekleyin
3. **E-posta Gönder**:
* Kime: Toplantı katılımcısı
* Konu: Görüşmemize ilişkin takip
* Gövde: Tetikleyiciden toplantı ayrıntılarına referans verin
## E-posta ekleri
İş akışlarından gönderilen e-postalara dosyalar ekleyebilirsiniz. Ek, iş akışını yapılandırırken yüklediğiniz statik bir dosyadır.
### Ek nasıl eklenir
1. **E-posta Gönder** eyleminde **Ekler** düğmesine tıklayın
2. Bilgisayarınızdan bir dosya yüklemek için tıklayın
3. Bu eylemle gönderilen tüm e-postalara dosya eklenecektir
### Yaygın Kullanım Senaryoları
| Kullanım Senaryosu | Örnek dosya |
| ------------------------- | -------------------------------- |
| **Karşılama e-postaları** | Şirket broşürü (PDF) |
| **Başlangıç dizileri** | Başlarken kılavuzu |
| **Satış Takipleri** | Ürün kataloğu veya fiyat listesi |
| **Etkinlik onayları** | Etkinlik ayrıntıları veya gündem |
<Note>
Ekler statiktir—aynı dosya tüm alıcılara gönderilir. Kişiselleştirilmiş teklifler gibi dinamik belgeler için, bir [Mantık İşlevi](/l/tr/user-guide/workflows/how-tos/connect-to-other-tools/generate-pdf-from-twenty) kullanarak dosyalar oluşturup ekleyin.
</Note>
## En İyi Uygulamalar
### E-posta İçeriği
* Konu satırlarını öz ve ilgili tutun
* Alıcının adıyla kişiselleştirin
* Açık bir harekete geçirici mesaj ekleyin
* Etkinleştirmeden önce e-postaları test edin
### Teslim Edilebilirlik
* Çok kısa sürede çok fazla e-posta göndermeyin
* Profesyonel e-posta imzaları kullanın
* Spam tetikleyici kelimelerden kaçının
* Pazarlama e-postalarında abonelikten çıkma seçeneklerinin bulunduğundan emin olun
### Sorun Giderme
* E-posta hesabının bağlı ve aktif olduğunu doğrulayın
* Alıcının e-posta adresinin geçerli olduğunu kontrol edin
* Hata mesajları için iş akışı çalıştırmalarını gözden geçirin
* Önce kendi e-posta adresinizle test edin
## İlgili
* [İş Akışı Tetikleyicileri](/l/tr/user-guide/workflows/capabilities/workflow-triggers)
* [İş Akışı Eylemleri](/l/tr/user-guide/workflows/capabilities/workflow-actions)

View File

@@ -0,0 +1,88 @@
---
title: İş Akışlarında Dalları Kullanın
description: Dalların nasıl çalıştığını ve hangi yolun çalıştırılacağını nasıl kontrol edeceğinizi anlayın.
---
## Dallar Nasıl Çalışır
İş akışı düzenleyicisinde, tek bir düğümden çıkan birden çok yol (dallar) oluşturabilirsiniz. Bu, farklı sonuçlara sahip karmaşık otomasyonlar oluşturmanıza olanak tanır.
**Önemli**: Bir iş akışı çalıştığında, **varsayılan olarak tüm dallar paralel olarak yürütülür**. Bir dalı diğerine tercih etmek için yerleşik bir "if/else" mantığı yoktur—her yol eşzamanlı olarak çalışır.
## Hangi Dalın Çalıştırılacağını Kontrol Etme
Belirli koşullara göre yalnızca bir dalı çalıştırmak için, **her dalın başına bir Filter düğümü ekleyin**.
### Örnek Kurulum
1. İş akışınızı, tek bir düğümden birden çok dal çıkaracak şekilde oluşturun
2. Her dalda ilk adım olarak bir **Filter** düğümü ekleyin
3. Her Filter üzerinde, o dalın ne zaman devam etmesi gerektiğini belirlemek için koşullar ayarlayın
4. Yalnızca Filter koşulları sağlanan dal(lar) devam edecektir
### Filter'lar Nasıl Çalışır
* Filter koşulu **sağlanırsa**: Dal çalışmaya devam eder
* Filter koşulu **sağlanmazsa**: Dal, Filter düğümünde durur
Bu, verilerinize bağlı olarak yalnızca uygun dalın çalıştığı bir koşullu mantık oluşturur.
## Örnek: Anlaşma Büyüklüğüne Göre Yönlendirme
**Senaryo**: Bir anlaşma kapandığında, anlaşma büyüklüğüne göre farklı bildirimler gönderin.
1. **Tetikleyici**: Fırsat güncellendi (Aşama = Closed Won)
2. **Dal 1**: Miktar > $10.000 için Filter → #big-deals kanalına Slack mesajı gönderin
3. **Dal 2**: Miktar ≤ $10.000 için Filter → satış müdürüne e-posta gönderin
Her iki dal da başlar, ancak yalnızca anlaşma tutarıyla eşleşen dal, Filter'ını geçerek devam eder.
## Dallar Oluşturma
<Note>
Mevcut bir adımdan yeni bir dal oluşturmak için, adım üzerindeki **+** düğmesine tıklayın ve eyleminizi ekleyin. **+**'ı birden çok kez tıklayarak birden fazla dal ekleyebilirsiniz.
</Note>
1. İş akışı düzenleyicisinde, dallandırmak istediğiniz adımı seçin
2. Bir eylem eklemek için **+** düğmesine tıklayın
3. Bu, bir dal oluşturur
4. Ek dallar oluşturmak için aynı adımda **+** düğmesine tekrar tıklayın
5. Her dalın kendi eylem dizisi olabilir
## Dalları Yeniden Birleştirme
Paralel dallar işlerini tamamladıktan sonra, onları yeniden tek bir yolda birleştirebilirsiniz:
1. Dallanmış eylemlerinizi tamamlayın
2. Tüm dallardan sonra çalışması gereken yeni bir adım ekleyin
3. Her dalın son adımından bu yeni adıma bir bağlantı sürükleyin
4. Birleştirilen adım, çalıştırılmadan önce bağlı tüm dalların tamamlanmasını bekler
### Örnek: Önce İşle Sonra Bildir
```
Trigger
│
├── Branch A: Update Customer Record
│
└── Branch B: Create Support Ticket
↘ ↙
Merged Step: Send Confirmation Email
```
Onay e-postası, hem müşteri güncellemesi hem de talep oluşturma tamamlandıktan sonra gönderilir.
## En İyi Uygulamalar
* Koşullu yürütme istediğiniz durumlarda dalların başlangıcında her zaman **Filter düğümlerini** kullanın
* Yinelenen eylemleri önlemek için dal koşullarını **birbirini dışlayıcı** tutun
* Doğru dalların çalıştığından emin olmak için iş akışlarınızı farklı verilerle test edin
* Her yolun ne yaptığının açık olması için dal adımlarını açıklayıcı şekilde **yeniden adlandırın**
* Paralel işlemden sonra son bir eyleme ihtiyaç duyduğunuzda **dalları birleştirin**
## İlgili
* [İş Akışları SSS](/l/tr/user-guide/workflows/how-tos/need-more-help/workflows-faq) — paralel yürütme hakkında yanıtlar
* [İş Akışı Eylemleri](/l/tr/user-guide/workflows/capabilities/workflow-actions) — dallar için kullanılabilir eylemler

View File

@@ -0,0 +1,183 @@
---
title: Yineleyici Kullanın
description: Kayıt dizileri üzerinde döngü yaparak her öğe üzerinde eylemler gerçekleştirin.
---
Yineleyici, bir kayıt dizisi üzerinde döngü yapmanızı ve her biri için eylemler gerçekleştirmenizi sağlar. Search Records tarafından döndürülen veya Webhook'lar aracılığıyla alınan birden çok kaydı işlemeyi gerektiren iş akışları için gereklidir.
## Yineleyici Ne Zaman Kullanılır
| Senaryo | Örnek |
| ------------------------------ | -------------------------------------------------- |
| **Arama sonuçlarını işleyin** | Bulunan her kişiye e-posta gönderin |
| **Webhook dizilerini yönetin** | Her öğe için sırayla kayıtlar oluşturun |
| **Toplu güncellemeler** | Birden çok kaydı hesaplanan değerlerle güncelleyin |
| **Bildirimler** | Bir etkinlik hakkında birden fazla kişiyi uyarın |
## Yineleyiciyi Anlama
Yineleyici, girdi olarak bir **dizi** bekler. Ardından:
1. Diziden ilk öğeyi alır
2. Yineleyicinin içindeki tüm eylemleri o öğeyle çalıştırır
3. Sonraki öğeye geçer
4. Tüm öğeler işlenene kadar tekrarlar
### Döngü yapılacak diziyi seçme
Çoğu dizi kaynağı (Kayıt Ara, bir webhook dizi alanı, Toplu manuel tetikleyici) doğrudan değişken seçicisinden seçilebilir.
Bir **Code** veya **Logic Function** adımı *üst düzey bir dizi* döndürdüğünde, çıktısı değişken seçicisinde indekslenmiş girişler (`0`, `1`, `2`, …) olarak görünür. Dizinin tamamında döngü yapmak için, ilgili adım için **Whole list** seçeneğini belirleyin — Iterator daha sonra listedeki her bir öğenin yapısını otomatik olarak belirler.
## Temel Kurulum
### Örnek: Arama Sonuçlarındaki Herkese E-posta Gönderme
**Hedef**: Belirli bir şirketteki tüm kişileri bulun ve her birine kişiselleştirilmiş bir e-posta gönderin.
### Adım 1: Kayıt Ara
1. **Kayıt Ara** eylemini ekleyin
2. Nesne: **Kişiler**
3. Filtre: Şirket "Acme Inc"'e eşit
4. Bu, bir kişi dizisi döndürür
### Adım 2: Sonuçların Mevcut Olduğunu Kontrol Edin
1. **Filtre** eylemi ekleyin
2. Koşul: `{{searchRecords.length}}` 0'dan büyüktür
3. Bu, boş sonuçlarda Yineleyici hatalarını önler
### Adım 3: Yineleyici Ekleyin
1. **Yineleyici** eylemini ekleyin
2. Dizi girişi: `{{searchRecords}}` öğesini seçin
3. Bu bir döngü oluşturur
### Adım 4: Yineleyici İçine Eylemler Ekleyin
Yineleyiciden sonra yerleştirilen eylemler her öğe için çalışır:
1. Bir **E-posta Gönder** eylemi ekleyin (yineleyici içinde)
2. Kime: `{{iterator.currentItem.email}}`
3. Konu: Merhaba `{{iterator.currentItem.firstName}}`!
4. Gövde: Mevcut öğenin alanlarını kullanarak kişiselleştirilmiş mesaj
### Sonuç
Search Records 5 kişi döndürürse, Yineleyici:
* 1. kişiye e-posta gönderir
* 2. kişiye e-posta gönderir
* ... tüm 5'i için de devam eder
## Geçerli Öğe Verilerine Erişim
Yineleyici içinde, geçerli kayda erişmek için `{{iterator.currentItem}}` kullanın:
| Değişken | Açıklama |
| --------------------------------------- | --------------------------------- |
| `{{iterator.currentItem}}` | Geçerli kayıt nesnesinin tamamı |
| `{{iterator.currentItem.id}}` | Kayıt Kimliği |
| `{{iterator.currentItem.email}}` | E-posta alanı |
| `{{iterator.currentItem.company.name}}` | İlgili şirket adı |
| `{{iterator.index}}` | Dizideki mevcut konum (0 tabanlı) |
Değişken seçicisinde, geçerli öğenin belirli bir alanına inebilir veya tüm geçerli öğeye (`{{iterator.currentItem}}`) başvurmak için **Use the whole item** seçeneğini seçebilirsiniz. Tüm öğeyi seçmek, bir kaydı alan alan yeniden oluşturmaktansa, tam haliyle doğrudan sonraki bir adıma iletmek istediğinizde kullanışlıdır.
## Yaygın Kalıplar
### Birden Çok Kaydı Güncelleyin
**Hedef**: Vadesi geçmiş tüm görevleri "Geç" olarak işaretleyin
```
1. Search Records (Tasks, Due Date < Today, Status ≠ Completed)
2. Filter (length > 0)
3. Iterator (searchRecords)
└── Update Record
- Object: Tasks
- Record: {{iterator.currentItem.id}}
- Status: Late
```
### Diziden Kayıtlar Oluşturun
**Hedef**: Webhook birden çok öğe içeren bir sipariş aldığında, her bir öğe için bir kayıt oluşturun
```
1. Webhook Trigger (receives items array)
2. Filter (items.length > 0)
3. Iterator (trigger.body.items)
└── Create Record
- Object: Order Items
- Name: {{iterator.currentItem.name}}
- Quantity: {{iterator.currentItem.qty}}
- Related Order: {{trigger.body.orderId}}
```
### Döngü İçinde Koşullu İşleme
**Hedef**: Yalnızca geçerli e-postası olan kişilere e-posta gönderin
```
1. Search Records (People)
2. Iterator (searchRecords)
└── Filter (currentItem.email is not empty)
└── Send Email
- To: {{iterator.currentItem.email}}
```
## Sorun Giderme
### "Iterator expects an array"
**Neden**: Bir dizi yerine tek bir kayıt geçtiniz.
**Düzeltme**: Tek bir kayıt değil, Search Records sonucunu veya bir dizi alanını geçtiğinizden emin olun.
```
✅ Correct: {{searchRecords}}
❌ Wrong: {{searchRecords[0]}}
```
### Yineleyici Çalışmıyor
**Neden**: Dizi boş.
**Düzeltme**: Dizi uzunluğunu kontrol etmek için Yineleyiciden önce bir Filtre ekleyin:
```
Filter: {{searchRecords.length}} > 0
```
### Eylemler Çok Fazla Kez Çalıştırılıyor
**Neden**: Search Records beklenenden daha fazla kayıt döndürdü.
**Düzeltme**:
* Search Records'a daha spesifik filtreler ekleyin
* Search Records için bir sınır belirleyin (en fazla 200)
* Ek koşullar için Yineleyici içinde Filtre ekleyin
## Performansla İlgili Hususlar
* **Kredi kullanımı**: Her yineleme, eylemleri için kredi tüketir
* **Zaman**: Büyük dizilerin işlenmesi daha uzun sürer
* **Sınırlar**: Çok büyük işlemleri toplu olarak çalıştırmayı düşünün
* **Oran sınırlamaları**: Çok sayıda yinelemede harici API çağrıları oran sınırlarına takılabilir
## En İyi Uygulamalar
1. Hatalardan kaçınmak için Yineleyiciden önce **dizi uzunluğunu her zaman kontrol edin**
2. Tüm öğelerin işlenmesine gerek olmadığında **döngülerin içine filtreler ekleyin**
3. Neyin üzerinden döngü yaptığını açıklamak için **Yineleyici adımınızı yeniden adlandırın**
4. Büyük veri kümelerini işlemeye başlamadan önce **küçük dizilerle test edin**
5. Yinelemelerin beklendiği gibi tamamlandığından emin olmak için **iş akışı çalıştırmalarını izleyin**
## İlgili
* [İş Akışı Eylemleri](/l/tr/user-guide/workflows/capabilities/workflow-actions)
* [Dalları Nasıl Kullanılır](/l/tr/user-guide/workflows/capabilities/use-branches-in-workflows)
* [İş Akışları SSS](/l/tr/user-guide/workflows/how-tos/need-more-help/workflows-faq)

View File

@@ -0,0 +1,332 @@
---
title: İş Akışı Aksiyonları
description: Twenty iş akışlarında kullanılabilen eylemler hakkında bilgi edinin.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Eylemler Hakkında
Aksiyonlar, bir tetikleyici devreye girdiğinde neler olacağını tanımlar. Karmaşık otomasyonlar oluşturmak için birden fazla eylemi birbirine zincirleyebilirsiniz.
<Tip>
* Önceki adımlardaki kullanılabilir verileri gözden geçirmek için değişken seçicisini kullanın (`(x+)` simgesine tıklayın)
* Bir değişkenin hangi adımdan geldiğini görmek için herhangi bir giriş alanının üzerine gelin — aynı alanın (örn., ID) birden çok önceki adımda bulunduğu durumlarda faydalıdır
* Bakımı kolaylaştırmak için her eyleme açıklayıcı bir ad verin
</Tip>
## Kayıt Eylemleri
<img src="/images/user-guide/workflows/workflow_actions.png" style={{genişlik:'100%'}} />
### Kayıt Oluştur
Seçilen bir nesneye yeni bir kayıt ekler.
**Yapılandırma**:
* Hedef nesneyi seçin
* Gerekli ve isteğe bağlı alanları doldurun
* Alanları doldurmak için önceki adımlardan gelen verileri kullanın veya değerleri el ile girin
**Çıktı**: Yeni oluşturulan kayıt verileri, sonraki adımlarda kullanılmak üzere mevcuttur.
### Kayıt Güncelle
Seçilen bir nesnedeki mevcut bir kaydı değiştirir.
<img src="/images/user-guide/workflows/update_record.png" style={{width:'100%'}} />
**Yapılandırma**:
* Hedef nesneyi seçin
* Güncellenecek belirli kaydı seçin.
* Tüm mevcut kayıtları gösteren açılır menüyü kullanarak sabit bir kayıt seçebilirsiniz.
* Veya `(x+)` kullanarak önceki bir adımda bulunan bir kaydı belirleyip kaydın dinamik olarak seçilmesini sağlayabilirsiniz. Bu aşamada kaydı farklı ölçütlere göre arayamazsınız. Kaydı henüz belirlemediyseniz, bu `Update Record` adımından önce bir `Search Record` adımı ekleyin.
* Değiştirilecek alanları seçin ve yeni değerler girin
**Çıktı**: Güncellenmiş kayıt verileri, sonraki adımlarda kullanılmak üzere mevcuttur.
### Kayıt Sil
Seçilen bir nesneden bir kaydı kaldırır.
**Yapılandırma**:
* Hedef nesneyi seçin
* Silinecek belirli kaydı seçin
**Çıktı**: Silinen kayıt verileri, sonraki adımlarda kullanılmak üzere mevcut kalır.
### Kayıt Ara
Seçilen bir nesnede filtreleme koşulları kullanarak kayıt bulur.
**Yapılandırma**:
* Aranacak nesneyi seçin
* Sonuçları daraltmak için filtre kriterlerini ayarlayın
* Sıralama ve sınırları yapılandırın
**Çıktı**: Belirlenen filtre koşullarına uyan kayıtlar, sonraki adımlarda kullanılmak üzere döner.
<Note>
**Sınır**: Search Records en fazla **200 kayıt** döndürür. Daha fazlasını işlemeniz gerekiyorsa, sonuçları azaltmak için belirli filtreler ekleyin veya toplu olarak işlemek için zamanlanmış iş akışlarını kullanın.
</Note>
**En İyi Uygulama**: "bulundu" ve "bulunmadı" senaryolarını yönetmek için Search Records sonrasında [dallar](/l/tr/user-guide/workflows/capabilities/workflow-branches) kullanın.
### Kayıt Ekle/Güncelle
Eşleştirme ölçütlerine göre yeni bir kayıt oluşturur veya mevcut bir kaydı günceller. Bir kaydın zaten var olup olmadığından emin olmadığınızda faydalıdır.
<img src="/images/user-guide/workflows/upsert_double_identifier.png" style={{width:'100%'}} />
**Yapılandırma**:
* Hedef nesneyi seçin
* Eşleştirme için hangi alanların kullanılabileceğine dikkat edin: Kişiler için e-posta, Şirketler için alan adı (domain), herhangi bir nesne için ID veya Benzersiz olarak işaretlenmiş herhangi bir alan. Aşağıdakilerden en az birini doldurmanız gerekecek.
* Alan değerlerini doldurun. Benzersiz tanımlayıcılardan en az birini doldurmayı unutmayın.
<Note>
**Yalnızca bir benzersiz tanımlayıcı eklemek, genellikle eşleştirmenin daha iyi çalışmasını sağlar.** Örneğin, aşağıdaki ekran görüntüsü şirketleri alan adlarına göre eşleştirecektir. ID mutlaka gerekli değildir.
</Note>
<img src="/images/user-guide/workflows/upsert_simple_identifier.png" style={{width:'100%'}} />
* Alanları doldurmak için önceki adımlardan gelen verileri kullanın
**Nasıl Çalışır**:
1. Kriterlerinize uyan bir kaydı arar
2. Bulunursa → mevcut kaydı günceller
3. Bulunamazsa → yeni bir kayıt oluşturur
**Çıktı**: Oluşturulan veya güncellenen kayıt verileri, sonraki adımlarda kullanılmak üzere mevcuttur.
## Akış Eylemleri
### Yineleyici
**Önceki bir adımdan dönen kayıt dizisi üzerinde döngü oluşturur**, her kayıt üzerinde ayrı ayrı işlem yapmanıza olanak tanır.
**Yapılandırma**:
* Önceki bir adımdan gelen kayıt dizisini seçin (ör. Kayıt Ara sonuçları, Toplu kullanılabilirliğe sahip bir Manuel tetikleyici, bir kod düğümü). Bir Code adımı veya mantık işlevi adımı üst düzey bir dizi döndürdüğünde, çıktının tamamı üzerinde döngü yapmak için **Tüm liste** seçeneğini seçin.
* Döngüde her kayıt üzerinde gerçekleştireceğiniz işlemleri tanımlayın.
<Note>
- Bir yineleyici içinde birden fazla eylem ekleyebilirsiniz.
- Bir yineleyici içinde dallar kullanırken, her dalın son adımının döngüyü kapatmak için yineleyiciye geri bağlandığından emin olun.
</Note>
* `Current Item` Alanlarına Erişim: şu anda işlenen kayıttaki alanları kullanmak için **Iterator** adımına tıklayın, ardından **Current item** seçin. Bu kayıttan kullanılabilir alanların listesi görüntülenir ve sonraki eylemlerde kullanılmak üzere seçilebilir. Ayrıca, geçerli öğenin tamamını bir sonraki adıma aktarmak için **Öğenin tamamını kullan** seçeneğini de belirleyebilirsiniz.
<VimeoEmbed videoId="1146577247" title="Video gösterimi" />
### Filtre
Belirtilen koşullara göre kayıtları filtreler ve yalnızca kriterleri karşılayan kayıtların geçmesine izin verir.
**Yapılandırma**:
* Filtrelenecek kaydı seçin
* Filtre koşullarını ve kriterlerini tanımlayın
* Sonraki adımlara geçmesi gereken kayıtları yapılandırın
<Note>
1. **Çıktı**: Filtre düğümleri veri döndürmez—geçit görevi görürler. Koşullar karşılanırsa iş akışı devam eder. Karşılanmazsa iş akışı o dalda durur.
2. `IS` işleci sayısal alanlarla kullanılabilir. Bir `EQUAL` gibi çalışır.
</Note>
### Gecikme
İş akışının yürütülmesini belirtilen bir süre boyunca veya belirli bir tarih/saate kadar duraklatır.
**Gecikme Türleri**:
| Tür | Açıklama |
| --------------------- | ----------------------------------------------------- |
| **Süre** | Belirli bir süre bekleyin (gün, saat, dakika, saniye) |
| **Zamanlanmış Tarih** | Belirli bir tarih ve saate kadar bekleyin |
**Süre için yapılandırma**:
* Gün, saat, dakika ve/veya saniye ayarlayın
* Birden fazla birimi birleştirin (ör. 2 gün ve 4 saat)
**Zamanlanmış Tarih için yapılandırma**:
* Bir tarih ve saat seçin
* Önceki bir adımdaki bir tarih alanına referans verebilir (ör. bir toplantıdan 3 gün sonra takip)
**Kullanım alanları**:
* Takip e-postası göndermeden önce 24 saat bekleyin
* Bir fırsatın kapanış tarihine kadar duraklatın
* Eylemleri mesai saatlerine göre zamanlayın
<Note>
Planlanan tarih geçmişte olamaz. Önceki bir adımdaki tarih alanı kullanılırsa ve tarih zaten geçmişse, iş akışı başarısız olur.
</Note>
**Sınırlar ve Krediler**:
* **Maksimum süre sınırı yoktur**—dakika, gün, hafta veya daha uzun gecikmeler ayarlayabilirsiniz.
* Süreye bakılmaksızın Gecikme düğümü çalıştığında **1 kredi harcanır**
* Beklerken **kredi harcanmaz**—5 dakikalık bir gecikmenin maliyeti 5 günlük bir gecikmeyle aynıdır
## İletişim Eylemleri
### E-posta Gönder
İş akışınızdan bir e-posta gönderir. Bu, şablonlu grup e-postaları için harikadır. E-postalar, posta kutunuzdan gönderdiğiniz e-postalara benzeyecektir.
Bültenler (daha zengin biçimlendirme gerektirir) veya otomatik e-posta dizileri için uygun değildir.
**Ön Koşullar**: Ayarlar → Hesaplar bölümüne bir e-posta hesabı ekleyin
**Yapılandırma**:
* Gönderen e-posta hesabını seçin
<Note>
Yalnızca kendi Twenty hesabınıza senkronize edilmiş posta kutularından e-posta gönderebilirsiniz. Diğer ekip üyelerinin posta kutularından gönderim (ör. hesap sahibinin e-postası) yol haritasındadır.
</Note>
Aşağıdaki tüm adımlar için kişiselleştirme amacıyla önceki adımlardan gelen değişkenleri kullanabilirsiniz.
* Alıcı e-posta adresini girin.
<Note>
Şu anda yalnızca bir alıcı mümkündür.
</Note>
* Konu satırını ayarlayın.
* Mesaj gövdesini yazın. Bağlantıları biçimlendirebilir, numaralı listeler ve madde işaretli listeler oluşturabilir ve ekler ekleyebilirsiniz.
<Note>
Şu anda HTML imzaları eklemek mümkün değildir.
</Note>
### Form
İş akışı gerçekleştirilirken kullanıcı girdisi toplamak için bir form açar. Yanıtlar daha sonra sonraki adımlarda, girdiye bağlı olarak kayıtlar oluşturmak, e-postalar göndermek veya başka herhangi bir eylemi yürütmek için kullanılabilir.
<Warning>
**Formlar yalnızca manuel tetikleyiciler için tasarlanmıştır**. Diğer tetikleyicilerle (Kayıt Oluşturuldu, Güncellendi, vb.) iş akışlarında, formlar yalnızca iş akışı çalıştırma arayüzü üzerinden erişilebilir olup, bu beklenen kullanıcı deneyimi değildir. 2026'da formların otomatik iş akışlarını doğru bir şekilde desteklemesi için bir bildirim merkezi yayınlanacaktır.
</Warning>
**Yapılandırma**:
* Kullanıcılardan doldurmaları istenecek alanları yapılandırın. Her alan için şunları seçin
* metin, sayı, tarih, belirli bir kayıt veya bir seçim alanı türü. Tüm nesnelerdeki alanlar seçim için kullanılabilir.
* bir etiket
* `Placeholder` altında varsayılan bir değer (isteğe bağlı)
* Form başlığını düzenleyin
**Çıktı**: Form yanıtları, sonraki adımlarda kullanılmak üzere mevcuttur.
**Örnek**: "Quick Lead" iş akışı varsayılan olarak tüm çalışma alanlarında kullanılabilir ve Komut Menüsü `Cmd+K` içinde her yerden erişilebilir.
**Form nasıl doldurulur**:
* Manuel iş akışınızı Komut Menüsü `Cmd+K` üzerinden tetikleyin
* Kenar panelde görüntülenen formu doldurun ve `Submit` düğmesine tıklayın.
<Note>
Alanlar zorunlu hale getirilemez.
</Note>
<VimeoEmbed videoId="1147277989" title="Video gösterimi" />
## Entegrasyon Eylemleri
### Kod
İş akışınızda özel JavaScript çalıştırır.
Arka planda, her Code eylemi kendi **mantık işlevi** ile desteklenir — Twenty platformunda çalışan sunucu tarafı bir TypeScript işlevi. Bir Code eylemi eklediğinizde, Twenty o adım için özel bir mantık işlevi oluşturur ve düzenleyicisini satır içinde gösterir; böylece yazdığınız kod iş akışının parçası olur.
**Yapılandırma**:
* Önceki adımlardan gelen değişkenlere erişin. Değişken adlarını dinamik olarak düzenleyebilirsiniz.
<VimeoEmbed videoId="1147281795" title="Video gösterimi" />
* Düzenleyicide JavaScript kodu yazın
* Sonraki adımlarda kullanılmak üzere değişkenler döndürün
* Kodu doğrudan adımda test edin
<Note>
Kodunuzda harici API anahtarlarını kullanmanız gerekiyorsa, bunları doğrudan fonksiyon gövdesine girmeniz gerekir. API anahtarlarını başka bir yerde yapılandıramazsınız ve bunlara mantık fonksiyonu içinde referans veremezsiniz.
</Note>
<Tip>
**Dizilerle mi çalışıyorsunuz?** Harici sistemlerden veya önceki adımlardan gelen diziler metin (string) olarak gelebilir. Çözüm için [Kod eylemlerinde diziler nasıl ele alınır](/l/tr/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions) bölümüne bakın.
</Tip>
<Tip>
Kod düzenleyicisinin sağ üst kısmındaki kare simgeye tıklayarak tam ekranda görüntüleyin — varsayılan düzenleyici genişliği sınırlı olduğundan faydalıdır.
</Tip>
#### İş akışları arasında bir mantık işlevini yeniden kullanma
Satır içi Code eylemi, tek seferlik mantık için harikadır, ancak içerdiği kod yalnızca o adıma aittir. Aynı mantığı birden fazla iş akışında paylaşmak — ya da bir uygulamada sürümlendirilen kaynak olarak korumak — istediğinizde, her Code eylemine kod kopyalayıp yapıştırmak yerine **yeniden kullanılabilir bir mantık işlevi** tanımlayın.
Bir mantık işlevi bir uygulamada bir kez tanımlanır (SDK'nin `defineLogicFunction` işlevi kullanılarak) ve `workflowActionTriggerSettings` eklenerek iş akışı oluşturucuya açığa çıkarılır. Uygulamanız yüklendikten sonra, bu işlev, yerleşik eylemlerin yanında, iş akışı oluşturucuda kendi eylemi olarak görünür. Onu seçmek, tanımladığınız giriş alanlarını (diğer eylemlerde olduğu gibi değişken seçicilerle birlikte) oluşturur ve paylaşılan kodunuzu çalıştırır — satır içi JavaScript gerekmez.
| | Code eylemi | Yeniden kullanılabilir mantık işlevi |
| ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------- |
| **Kodun bulunduğu yer** | Satır içi düzenleyici, tek bir iş akışı adımıyla bağlantılı | Bir uygulamada tanımlanır, kaynak kontrolünde sürümlendirilir |
| **Yeniden kullanım** | Her adım için kopyalanıp yapıştırılır | Herhangi bir iş akışına bir eylem olarak eklenir |
| **Girdiler** | Düzenleyicide bağlanan değişkenler | Tanımladığınız giriş şemasından oluşturulan alanlar |
| **En uygun** | Hızlı, iş akışına özgü mantık | Birden fazla iş akışında kullanılan paylaşılan mantık |
Her ikisi de aynı mantık işlevi çalışma zamanında çalışır; bu nedenle satır içinde prototipini oluşturduğunuz bir Code eylemi, minimum değişiklikle daha sonra yeniden kullanılabilir bir mantık işlevine yükseltilebilir.
<Tip>
Mantık işlevlerini tanımlama ve bunları iş akışı oluşturucuya açığa çıkarma konusunda geliştiricilere yönelik referans için, özellikle **Bir işlevi bir AI aracı veya iş akışı eylemi olarak açığa çıkarma** bölümü ve `workflowActionTriggerSettings` kısmı olmak üzere [Logic Functions](/l/tr/developers/extend/apps/logic/logic-functions) sayfasına bakın.
</Tip>
### HTTP İsteği
İş akışınızın bir parçası olarak harici bir API'ye istek gönderir.
<img src="/images/user-guide/workflows/http_action.png" style={{width:'100%'}} />
**Yapılandırma**:
* API endpoint URL'sini girin. Önceki adımlardaki parametreleri kullanmak mümkündür.
* HTTP yöntemini seçin (GET, POST, PUT, PATCH, DELETE)
* Gerekli başlıkları ve değerleri ekleyin
* Yapı önizlemesi için örnek yanıt sağlayın
## Yapay Zeka Eylemleri
### Yapay Zeka Aracısı - Çok Yakında
İş akışınız içinde akıllı görevler gerçekleştirmek için bir yapay zeka aracısını çalıştırır.
**Yapılandırma**:
* **Aracı**: Mevcut bir yapay zeka aracısını seçin veya varsayılan aracıyı kullanın
* **İstem**: Yapay zeka aracısı için talimatı yazın
* İstemde önceki adımlardaki değişkenlere başvurun
**Yapay Zeka Aracıları neler yapabilir**:
* Verileri analiz edip özetleyin
* Kayıtları sınıflandırın veya kategorilere ayırın
* Metin içeriği oluşturun
* Verilere dayalı kararlar verin
* Araçlar kullanarak CRM verilerinizle etkileşim kurun
**Çıktı**: Yapay zeka aracısının yanıtı, sonraki adımlarda kullanılmak üzere mevcuttur. Aracın yapılandırılmış bir çıktı şeması varsa, yanıt bu biçimi izler.
<Note>
Yapay Zeka Aracısı eylemleri, kullanılan yapay zeka modeline bağlı olarak iş akışı kredileri tüketir. Ayrıntılar için [İş Akışı Kredileri](/l/tr/user-guide/workflows/capabilities/workflow-credits) bölümüne bakın.
</Note>
<Note>
Yapay zeka aracıları role dayalı izinlere uyar. Temsilcilerin hangi verilere erişebileceklerini kontrol etmek için **Ayarlar → Üyeler → Roller** altında temsilcilere belirli roller atayabilirsiniz. Ayrıntılar için [İzinler](/l/tr/user-guide/permissions-access/capabilities/permissions) bölümüne bakın.
</Note>

View File

@@ -0,0 +1,66 @@
---
title: İş Akışı Dalları
description: İş akışlarınızda paralel yollar ve koşullu mantık oluşturun.
---
Dallar, iş akışınızı verilerinize bağlı olarak eşzamanlı veya koşullu olarak çalışabilen birden çok yola ayırmanıza olanak tanır.
<img src="/images/user-guide/workflows/branches.png" style={{genişlik:'100%'}} />
## Dallar Nasıl Çalışır
Tek bir düğümden birden fazla bağlantı oluşturduğunuzda, her yol bir dala dönüşür. Varsayılan olarak, **tüm dallar paralel olarak çalışır**—birbirlerini beklemezler.
## Dal Oluşturma
### Yeni Bir Dal Ekle
1. **İş akışının ana tuvaline sağ tıklayın** (mevcut bir düğümün üzerine değil)
2. **Düğüm ekle** seçeneğine tıklayın.
3. Yeni dalınız için düğüm türünü seçin
4. Önceki adımın altından bu yeni eylemin üstüne bir ok sürükleyin
5. Aynı düğümden daha fazla dal eklemek için tekrarlayın
<Note>
Her dal bağımsızdır. Bir dal eklemek, o düğümdeki diğer mevcut yolları etkilemez.
</Note>
### Görsel Düzen
Dallar, iş akışı düzenleyicisinde paralel yollar olarak görünür. Yürütmeyi etkilemeden görsel düzeni yeniden düzenlemek için düğümleri sürükleyebilirsiniz.
## Koşullu Dallar
Tüm dallar varsayılan olarak çalıştığından, hangi yolların gerçekten yürütüleceğini denetlemek için **Filtre** düğümlerini kullanın:
| Dal | Filtre Koşulu | Eylem |
| --- | -------------------- | ----------------------- |
| A | Aşama = "Kazanıldı" | Tebrik e-postası gönder |
| B | Aşama = "Kaybedildi" | Takip görevi oluştur |
| C | Aşama = "Müzakere" | Yöneticiyi bilgilendir |
1. Tetikleyicinizden veya eyleminizden dallar oluşturun
2. Her dalın ilk adımı olarak bir **Filtre** düğümü ekleyin
3. Her filtreyi birbirini dışlayan koşullarla yapılandırın
4. Her filtrenin ardından eylemlerinizi ekleyin
Yalnızca filtre koşulunun sağlandığı dallar yürütülmeye devam eder.
## Dalları Birleştirme
**Dallar otomatik olarak birleştirilmez.** Her dal, bitene kadar bağımsız olarak çalışır. Bunu nasıl ele alacağınız konusunda tam esnekliğe sahipsiniz:
* **Seçenek 1: Dalları ayrı tutun**
Her dal, kendi takip eylemlerini bağımsız olarak yürütür. Dalların birleşmesi gerekmiyorsa bu en basit yaklaşımdır.
* **Seçenek 2: Dalları el ile birleştirin**
İş akışınızı oluştururken birden fazla dalı aynı sonraki eyleme manuel olarak bağlayabilirsiniz. Her dalın sonundan ortak bir düğüme okları sürüklemeniz yeterlidir.
<Note>
Yürütmeyi duraklatmak için bir [Delay](/l/tr/user-guide/workflows/capabilities/workflow-actions#delay) düğümü kullanabilirsiniz, ancak şu anda "başka bir dal bitene kadar" bekleyecek şekilde yapılandırılamaz.
</Note>
## İlgili
* [İş Akışlarında Dallar Nasıl Kullanılır](/l/tr/user-guide/workflows/capabilities/use-branches-in-workflows) - Adım adım kılavuz
* [İş Akışı Eylemleri](/l/tr/user-guide/workflows/capabilities/workflow-actions) - Filtre de dahil olmak üzere kullanılabilir eylemler

View File

@@ -0,0 +1,75 @@
---
title: İş Akışı Kredileri
description: İş akışı kredi tüketimini ve yönetimini anlayın.
---
İş akışı kredileri, Twenty'deki otomasyonlarınızın gücüdür. Nasıl çalıştıklarını anlamak, maliyetleri optimize etmenize ve otomasyon bütçenizi etkili bir şekilde yönetmenize yardımcı olur.
## Kredi Tahsisi
İş akışı kredileri plan seviyenize göre değil, faturalandırma döngünüze göre tahsis edilir:
| Faturalandırma Döngüsü | Krediler |
| ---------------------- | -------------- |
| **Aylık abonelik** | Ayda 5 kredi |
| **Yıllık abonelik** | Yılda 50 kredi |
<Note>
Aylık 5 kredi, standart otomasyonlar için oldukça cömerttir. Çoğu ekip, tipik iş akışı kullanımıyla bu sınırı aşmayacaktır. Ek krediler, ağırlıklı olarak ileri düzey Code eylemleri ve yapay zeka destekli iş akışları için gereklidir.
</Note>
## Kredi Tüketiminin Çalışma Prensibi
Krediler, iş akışları çalıştığında tüketilir, oluşturulduğunda değil. Her iş akışı eylemi, karmaşıklığına göre kredi tüketir:
### Eylem Türüne Göre Kredi Tüketimi
* **Temel dahili işlemler**: Çok düşük kredi tüketimi
* Kayıt Ara
* Kayıt Oluştur
* Kayıt Güncelle
* Kayıt Sil
* Form işlemleri
* **Karmaşık işlemler**: Daha yüksek kredi tüketimi
* Kod eylemleri (JavaScript yürütme)
* Harici hizmetlere HTTP İstekleri
* **Yapay zeka özellikleri**: Daha yüksek kredi tüketimi
* Yapay Zeka Aracı eylemleri, kullanılan yapay zeka modeline bağlı olarak kredi tüketir
* Daha karmaşık istemler ve daha uzun çıktılar daha fazla kredi kullanır
* **Gecikme eylemleri**: Minimum kredi tüketimi
* Gecikme düğümü çalıştığında **1 kredi** tüketir
* Bekleme süresi boyunca **hiç kredi tüketilmez**
* 5 dakikalık bir gecikme, 5 günlük bir gecikmeyle aynı maliyete sahiptir
### Gerçek Zamanlı Düşüm
Krediler, iş akışları çalışırken gerçek zamanlı olarak düşülür. Bu şu anlama gelir:
* Taslak iş akışları kredi tüketmez
* Sadece aktif, çalışan iş akışları kredi tahsisatınızı kullanır
* Başarısız iş akışları, tamamlanan adımlarda yine de kredi tüketir
## Kredilerin Yönetimi
### Kredi Kullanımını Kontrol Et
1. **Ayarlar → Faturalama** bölümüne gidin
2. Güncel kredi tüketiminizi ve kalan bakiyenizi görüntüleyin
3. İş akışlarınızı optimize etmek için kullanım desenlerini izleyin
### Ek Kredi Satın Alma
Plan tahsisinizin ötesinde daha fazla krediye ihtiyacınız varsa:
1. **Ayarlar → Faturalama** bölümüne gidin
2. Ek kredi satın alma seçeneğine tıklayın. Farklı boyutlarda paketler mevcuttur.
3. Krediler mevcut bakiyenize eklenir
## En İyi Uygulamalar
* **Toplu İşleme**: Tek tek eylem çağrılarını azaltmak için toplu işlemleri ve Iterator eylemlerini verimli bir şekilde kullanın
* **Manuel Tetikleme Optimizasyonu**: Manuel tetikleyiciler için, tek bir iş akışı çalıştırmasında birden fazla kaydı işlemek üzere `Bulk` kullanılabilirliğini seçin
* Verimlilik için Kod eylemlerini optimize edin

View File

@@ -0,0 +1,93 @@
---
title: İş Akışı Çalıştırmaları
description: İş akışı çalıştırmalarını izleyin ve yönetin.
---
## Çalıştırmalar Hakkında
Bir **Çalıştırma**, bir iş akışı çalıştırmasının kaydıdır. Bir iş akışı her tetiklendiğinde—bir kayıt olayı, zamanlama, manuel işlem veya bir webhook tarafından—yeni bir çalıştırma oluşturulur.
## Çalıştırmaları Görüntüleme
### İş Akışı Düzenleyicisinden
1. İzlemek istediğiniz iş akışını açın
2. Sağ taraftaki **Çalıştırmalar** paneline tıklayın
3. Son çalıştırmaların, durumlarıyla birlikte listesini görün
### İş Akışı Çalıştırmaları Görünümünden
1. Kenar çubuğunda **İş Akışı Çalıştırmaları**'na gidin
2. Tüm iş akışlarındaki çalıştırmaları görüntüleyin
3. Duruma, iş akışına veya tarihe göre filtreleyin
## Çalıştırma Durumları
| Durum | Açıklama |
| ------------------ | ----------------------------------------------------------------------------- |
| **Çalıştırılıyor** | İş akışı şu anda yürütülüyor |
| **Tamamlandı** | İş akışı başarıyla tamamlandı |
| **Başarısız** | İş akışı bir hatayla karşılaştı ve durdu |
| **Bekleniyor** | İş akışı duraklatıldı (ör. bir Gecikme eylemi veya Form gönderimi bekleniyor) |
## Çalıştırma Ayrıntıları
Şunları görmek için herhangi bir çalıştırmaya tıklayın:
* **Durum**: Çalıştırmanın mevcut durumu
* **Başlangıç zamanı**: Çalıştırmanın başladığı an
* **Süre**: Çalıştırmanın ne kadar sürdüğü
* **Tetikleme verileri**: İş akışını başlatan girdi
* **Adım çıktıları**: Her adımın döndürdüğü veriler
* **Hata iletileri**: Çalıştırma başarısız olduysa neyin ters gittiği
## Adım Adım Yürütme
Her çalıştırma, iş akışınız boyunca ilerlemeyi gösterir:
1. Hangi adımların başarıyla tamamlandığını görün
2. Hataların nerede gerçekleştiğini belirleyin
3. Adımlar arasında aktarılan verileri görüntüleyin
4. Adım girdilerini ve çıktılarını inceleyerek sorunlarda hata ayıklayın
## Hata Yönetimi
Bir çalıştırma başarısız olduğunda:
1. Başarısız olan çalıştırmayı açın
2. Başarısızlığa neden olan adımı bulun
3. Ayrıntılar için hata iletisini kontrol edin
Yaygın sorunlar:
* Gerekli alanlar eksik
* Geçersiz veri biçimi
* Harici API hataları
* İzin sorunları
## İş Akışlarını Yeniden Çalıştırma
Bir çalıştırma başarısız olursa şunları yapabilirsiniz:
* Altta yatan sorunu düzeltin ve bir sonraki tetikleyiciyi bekleyin
* Manuel iş akışları için aynı veya güncellenmiş verilerle yeniden tetikleyin
* Gelecekteki başarısızlıkları önlemek için iş akışı mantığını gözden geçirin
## Performans İpuçları
### Çalıştırma Geçmişini Yönetme
* Çalıştırmalar tarihsel referans için saklanır
* Çok eski çalıştırmalar otomatik olarak arşivlenebilir
* Kayıt tutmanız gerekiyorsa çalıştırma verilerini dışa aktarın
### İzleme En İyi Uygulamaları
* Yeni iş akışlarını etkinleştirdikten sonra çalıştırmaları düzenli olarak kontrol edin
* Kalıpları belirlemek için başarısız olan çalıştırmaları gözden geçirin
## İlgili
* [İş Akışı Tetikleyicileri](/l/tr/user-guide/workflows/capabilities/workflow-triggers)
* [İş Akışı Eylemleri](/l/tr/user-guide/workflows/capabilities/workflow-actions)
* [İş Akışı Sorun Giderme](/l/tr/user-guide/workflows/how-tos/need-more-help/workflow-troubleshooting)

View File

@@ -0,0 +1,137 @@
---
title: İş Akışı Tetikleyicileri
description: İş akışlarınızı başlatan farklı tetikleyiciler hakkında bilgi edinin.
---
## Tetikleyiciler Hakkında
İş akışları, otomasyonun ne zaman çalıştırılacağını tanımlayan tek bir tetikleyici ile başlar.
<img src="/images/user-guide/workflows/workflow_triggers.png" style={{width:'100%'}} />
<Tip>
**Gelişmiş nesneler destekleniyor!** Standart CRM nesnelerinin (Kişiler, Şirketler, Fırsatlar) ötesinde, ayrıca şu öğelerde iş akışlarını tetikleyebilir ve işlemler gerçekleştirebilirsiniz:
* Çalışma Alanı Üyeleri
* Takvim etkinlikleri
* Mesajlar (E-postalar)
* Görevler, Notlar ve daha birçok sistem nesnesi
Bu, takvim etkinlikleri oluşturulduğunda ekip üyelerini bilgilendirme ya da gelen e-postaları otomatik olarak işleme gibi güçlü otomasyonların önünü açar.
</Tip>
## Kayıt Oluşturuldu
Seçilen bir nesneye (Kişiler, Şirketler, Fırsatlar veya herhangi bir özel nesne) yeni bir kayıt oluşturulduğunda iş akışını başlatır.
**Yapılandırma**: Yeni kayıtları izlemek için nesne türünü seçin.
<Note>
* Bu tetikleyici, CSV, posta kutusu ve takvim eşzamanlaması veya API tarafından oluşturulan kayıtlar için harikadır.
* **El ile oluşturulan kayıtlar için önerilmez**: bu tetikleyici ile kayıt oluşturulur oluşturulmaz iş akışları başlar. Twenty UI anında otomatik kaydetme sunduğundan (kayıtları kaydetmek için bir düzenleme modu ve ardından doğrulama yoktur), kullanıcı tüm alanları girmeden önce iş akışı tetiklenecektir.
Bu iş akışını el ile oluşturulan kayıtlarda tetiklemek için bunun yerine `Record is created or updated` tetikleyicisini kullanmanız önerilir.
</Note>
## Kayıt Güncellendi
Mevcut bir kayıtta değişiklik yapıldığında iş akışını başlatır.
**Yapılandırma**:
* Nesne türünü seçin
* Hangi alanların değişiklikler için izleneceğini isteğe bağlı olarak belirtin
## Kayıt Güncellendi veya Oluşturuldu
Bir kaydın seçili bir nesnede oluşturulması veya güncellenmesi durumunda iş akışını başlatır.
**Neden Bu Önemli**: Bu tetikleyici özellikle faydalıdır çünkü farklı yöntemlerle oluşturulan kayıtlar farklı davranır:
* **API/CSV içe aktarmaları**: Kayıtlar tüm alanlar doldurulmuş olarak hemen oluşturulur
* **Manuel oluşturma**: Önce kayıtlar oluşturulur, ardından alanlar sonraki güncellemelerde eklenir
**Yapılandırma**:
* İzlenecek nesne türünü seçin
* Hangi alanların değişiklikler için izleneceğini isteğe bağlı olarak belirtin
* İş akışı, hem ilk oluşturma sırasında hem de sonraki güncellemelerde tetiklenecektir
## Kayıt Silindi
Bir nesneden kayıt kaldırıldığında iş akışını başlatır.
**Yapılandırma**: Silme işlemlerini izlemek için nesne türünü seçin.
## Manuel Tetikleyici
Bir kullanıcı eylemi tarafından tetiklendiğinde iş akışını başlatır. Bu tetikleyiciye `Cmd+K` menüsünden veya kayıt(lar)ı seçtikten sonra üst gezinme çubuğunda görüntülenecek özel bir düğme aracılığıyla erişilebilir.
<img src="/images/user-guide/workflows/add_to_newsletter_button.png" style={{width:'100%'}} />
**Kullanılabilirlik Yapılandırması**:
İş akışının kayıt seçimini nasıl ele alacağını seçin:
* **Global**: Bu iş akışını tetiklemek için bir kayda gerek yoktur. İş akışı, komut menüsü `Cmd+K` üzerinden herhangi bir yerden (herhangi bir nesneden) tetiklenir ve girdi olarak kayıt(lar) kullanmaz.
**Tekil** ve **Toplu** kullanılabilirlik için, seçilen kayıt(lar) iş akışınıza iletilecektir. Bu, belirli bir nesne için yapılandırılır ve iş akışını tetiklemeden önce birden fazla kayıt seçilebilir.
* **Tekil**: İş akışı, başlangıçtan sona kadar, seçilen kayıt sayısı kadar çalışacaktır.
<Note>
**Yumuşak sınır: dakikada 100 çalıştırma**. Bunun ötesinde, iş akışları "Not Started" durumunda kalır ve kademeli olarak işlenir—arka plan görevi tarafından ya da başka bir iş akışı kuyruğa girdiğinde. Bu, Tekil tetikleyici ile 100'den fazla kayıt seçebileceğiniz anlamına gelir; yalnızca yürütme daha yavaş olacaktır.
</Note>
* **Toplu**: İş akışı bir kere çalışacak ve tüm kayıt listesini girdi olarak sağlayacaktır. Bu, iş akışının bir [Yineleyici eylemi](/l/tr/user-guide/workflows/capabilities/workflow-actions#iterator) içermesi gerektiği anlamına gelir.
<Note>
Bu daha gelişmiştir ve iş akışı çalıştırmalarının sayısını optimize etmek isteyenler için en uygunudur.
</Note>
<img src="/images/user-guide/workflows/manual_trigger.png" style={{width:'100%'}} />
**Ek Yapılandırma**:
* Hedef nesneyi seçin (Tek ve Toplu kullanılabilirlik için)
* İş akışı tetikleyicisi için bir komut simgesi seçin
* Gezinme çubuğundaki konumu yapılandırın (Sabitlenmiş veya Sabitlenmemiş)
**Erişim Yöntemleri**:
* `Cmd+K` menüsü ile manuel iş akışlarını bulup başlatma
* Üst gezinme çubuğunda (yapılandırılmışsa) özel bir düğme
## Zamana Dayalı Tetikleyici: Zamanlama ile
Belirlediğiniz aralıklarla iş akışını başlatır.
**Yapılandırma**:
* Zaman birimini seçin (dakika, saat, gün)
* İleri düzey zamanlama için bir değer girin veya özel cron ifadeleri kullanın.
<Note>
**Saat dilimi**: Zamanlanmış iş akışları **UTC**'de çalışır. Günlük zamanlamalar için saatleri ayarlarken yerel saatinizi UTC'ye dönüştürün.
</Note>
## Harici Tetikleyici: Webhook
İş akışı, harici bir hizmetten bir GET veya POST isteği alındığında başlar.
<img src="/images/user-guide/workflows/webhook_trigger.png" style={{width:'100%'}} />
**Yapılandırma**:
* İş akışı benzersiz bir webhook URL'si sağlar—bunu kopyalayın ve çağrılacak uç nokta olarak harici sisteminize ekleyin.
* POST istekleri için, Twenty'nin hangi verileri bekleyeceğini bilmesi amacıyla beklenen gövde yapısını tanımlayın. Buraya, iş akışınızda aşağıda gerekli olacak ve alacağınız alanları ekleyin.
* Kimlik doğrulamasını yapılandırın (yakında geliyor).
## Doğru Tetikleyiciyi Seçme
| Kullanım alanı | Önerilen Tetikleyici |
| ------------------------------------------------ | ---------------------------------- |
| Yeni potansiyel müşterilerin işlenmesi gerekiyor | Kayıt Oluşturuldu |
| Veri değişikliklerinin eşitlenmesi gerekiyor | Kayıt Güncellendi |
| İçe aktarma/el ile veri işleme | Kayıt Güncellendi veya Oluşturuldu |
| Silme işleminden sonra temizleme | Kayıt Silindi |
| Kullanıcı tarafından başlatılan işlem | Manuel Olarak Başlat |
| Yinelenen raporlar | Zamanlama ile |
| Harici entegrasyon | Webhook veya Zamanlama ile |

View File

@@ -0,0 +1,84 @@
---
title: İş Akışı Versiyonları
description: İş akışı sürümlerini ve taslaklarını yönetin.
---
## Sürümler Hakkında
Bir iş akışını her etkinleştirdiğinizde yeni bir sürüm oluşturulur. Bu, zaman içinde değişiklikleri izlemenize ve gerekirse önceki yapılandırmalara geri dönmenize olanak tanır.
## Sürüm Durumları
| Durum | Açıklama |
| --------------- | ----------------------------------------------- |
| **Taslak** | Düzenleniyor, henüz yayımlanmadı |
| **Aktif** | Tetikleyicilere yanıt veren canlı sürüm |
| **Devre Dışı** | Önceden aktifti, ancak manuel olarak durduruldu |
| **Arşivlenmiş** | Geçmiş için saklanan önceki sürümler |
## Taslaklarla Çalışma
Aktif bir iş akışını düzenlediğinizde, değişiklikleriniz **taslak** olarak kaydedilir. Güncellemeler üzerinde çalışırken aktif sürüm çalışmaya devam eder.
Düzenlemeyi bitirdiğinizde şunları yapabilirsiniz:
* **Etkinleştir**: Taslağı yeni aktif sürüm olarak yayımlayın (önceki sürüm arşivlenir)
* **Sil**: Taslağı silin ve mevcut aktif sürümü koruyun
## Versiyon Tarihçesi
### Önceki Sürümleri Görüntüleme
1. İş akışını açın
2. **Sürümler** sekmesine tıklayın
3. Zaman damgalarıyla birlikte tüm önceki sürümleri görün
### Bir Sürümü Geri Yükleme
1. Geri yüklemek istediğiniz sürümü bulun
2. **Taslak olarak kullan** seçeneğine tıklayın
3. Sürüm yeni bir taslağa kopyalanır
4. Gerekli tüm güncellemeleri yapın
5. Hazır olduğunuzda etkinleştirin
## En İyi Uygulamalar
### Sürüm Yönetimi
* Yalnızca üretime hazır olduğunda etkinleştirin
* Sürümler arasında yalnızca anlamlı değişiklikler bulundurun
* İş akışı adları veya açıklamalarındaki büyük değişiklikleri belgeleyin
* Etkinleştirmeden önce taslak modunda test edin
### Değişiklikleri Geri Alma
* Yeni bir sürüm sorunlara neden olursa önceki sürümü geri yükleyin
* Nelerin değiştiğini izlemek için sürüm geçmişini kullanın
* Geri yüklenen sürümleri etkinleştirmeden önce her zaman test edin
## Yaygın İş Akışları
### Hızlı Düzenleme
1. Aktif bir iş akışında küçük değişiklikler yapın
2. Taslak modunda test edin
3. Yeni sürümü etkinleştirin
### Kapsamlı Revizyon
1. Önceki sürümü başlangıç noktası olarak kullanın
2. Taslakta önemli değişiklikler yapın
3. Tüm senaryoları kapsamlı şekilde test edin
4. Emin olduğunuzda etkinleştirin
### Geri Alma
1. Mevcut sürümdeki sorunu belirleyin
2. Geçmişte çalışan son sürümü bulun
3. **Taslak olarak kullan** seçeneğine tıklayın
4. Eski davranışı geri getirmek için etkinleştirin
## İlgili
* [İş Akışlarına Başlarken](/l/tr/user-guide/workflows/overview)
* [İş Akışı Çalıştırmaları](/l/tr/user-guide/workflows/capabilities/workflow-runs)