# İş akışı ajanları

> Teklif / proforma, e-Fatura taslağı, tahsilat hatırlatma ve lead zenginleştirme işlerini sunucuda adım adım yürüten ajanlar — tembel araç yükleme, onay kapısı, her adımın kaydı, kaldığı yerden yeniden deneme ve kullanıcı düzeltmelerinden gece öğrenmesi.

İş akışı ajanı bir işi baştan sona yürütür: firmanın kaydını okur, fiyatı ve vadeyi hesaplar, teklifi ya da fatura taslağını hazırlar, e-posta taslağını yazar, takip görevini açar. Rapor üreten [hazır ajanlardan](/guides/agents) farkı, kayıt oluşturmasıdır — gerektiğinde onayınızı bekler.

Ajanlar **Otomasyon › Ajanlar › İş akışı ajanları** sayfasındadır (`/ajanlar/akis`); firma kartındaki **Yapay zekâ ajanları** şeridinden de tek tıkla başlar. Yapay Zekâ modülü gerekir (İleri paket ya da [kendi anahtarınız](/guides/ai-models)).

## İş akışları {#workflows}

| İş akışı | Ne yapar | Onayınızı bekleyen işlemler |
|---|---|---|
| **Teklif / proforma hazırlama** | Fırsatı inceler; ürünleri ve anlaşmalı fiyatları alır; fiyat, iskonto, vade ve dövizi **teklif hesabıyla** (`quote_calc`) hesaplar; teklifi oluşturur. Teklif PDF'i proforma olarak kullanılır | Fırsat açma, aşama değiştirme, sipariş oluşturma |
| **Fatura taslağı** | Faturalanmamış siparişlerden kalemleri, KDV'yi, iskontoyu, vadeyi ve kuru hesaplar; toplamları doğrular; e-Fatura / e-Arşiv **taslağını** açar | Taslağı açma — **gönderim her zaman e-Belge ekranından sizdedir** |
| **Tahsilat hatırlatma** | ERP'deki vadesi geçen faturaları, gün sayısını ve toplamları bulur; nazik ama net bir e-posta **taslağı** yazar; 3 iş günü sonrasına takip görevi açar | — (e-posta gönderilmez, Taslaklar'a düşer) |
| **Lead zenginleştirme** | Firma kartını, kişileri, görüşmeleri, e-postaları ve firmanın web sitesini okur; bulguları not olarak yazar, sonraki adım için görev açar | Firma alanlarını güncelleme, kişi ekleme / güncelleme, fırsat açma |

Ajan e-posta, SMS, WhatsApp ya da e-Fatura **göndermez**; silme, birleştirme ve iş akışı / şablon değiştirme araçları ona hiç verilmez. Teklif onay kuralları (iskonto sınırı, taban fiyat) ajan için de geçerlidir.

## Nasıl çalışır {#how}

1. **Başlatın:** iş akışını ve firmayı seçin; teklif için fırsatı, fatura için siparişleri işaretleyebilir, bir not yazabilirsiniz (ör. *2 ton B-20, %10 iskonto, EUR*).
2. **Sunucuda çalışır:** sayfa adım adım ilerlemeyi gösterir; tarayıcıyı kapatabilirsiniz. İşlem yarıda kalırsa (sunucu yeniden başladı, bağlantı koptu) zamanlayıcı kaldığı yerden sürdürür. Bitince, onay gerekince ya da durunca bildirim gelir.
3. **Onay:** onay gerektiren bir işlemde ajan durur ve gerekçesini yazar. Değerleri (ör. vade, KDV, kalemler) **düzeltip onaylayabilir** ya da reddedebilirsiniz; ajan sonuca göre devam eder.
4. **Sonuç:** kısa özet ve oluşturulan kayıtların bağlantıları (teklif, e-Fatura taslağı, e-posta taslağı, görev, not).

### Araçlar yalnız gerektiğinde yüklenir {#tools}

Ajan modele her istekte yüzlerce araç şemasını göndermez. İlk istekte yalnız dört modülün tek satırlık dizini vardır:

| Modül | İçerik |
|---|---|
| `crm_records` | firma / kişi arama, firma kartı, kişiler, etkinlik, notlar, ilişkiler, firma web sitesi |
| `sales_tools` | fırsat, ürün ve anlaşmalı fiyat, teklif hesabı ve oluşturma, sipariş, görev, görüşme kaydı, e-posta taslağı |
| `invoice_tools` | cari bakiye ve vadesi geçen faturalar, KDV / iskonto hesabı, kur, e-Fatura taslağı, tahsilat e-postası |
| `crm_analytics` | sayım ve toplamlar, raporlar, etkinlik arama, satış panosu |

Model hangi modülü isterse yalnız onun şemaları açılır. İlk istek tüm araç şemalarıyla gönderilene göre çoğunlukla %90'dan fazla küçüktür; çalıştırma sayfası iki boyutu ve ilk yanıt süresini gösterir.

### Her adım kaydedilir {#log}

Her model çağrısı ve araç adımı **adım kaydına** yazılır: adım numarası, deneme, araç, modül, girdi, çıktı, durum (*tamam · şema hatası · izin yok · zaman aşımı · onay bekliyor · reddedildi*), süre ve onayda yaptığınız düzeltme. Çalıştırma sayfasındaki **Adımlar** listesi bunları gösterir; API'den de okunur ([aşağıda](#api)).

Araçlar yalıtılmış çalışır: girdi şemaya sıkı uymazsa araç çalıştırılmaz ve hata ajana iletilir (ajan düzeltip yeniden dener); her aracın süre sınırı vardır (okuma 20 sn, yazma 40 sn); araçtaki bir hata geri alınır ve CRM'deki başka hiçbir işlemi etkilemez.

### Kaldığı yerden yeniden dene {#retry}

Bir adım düzelmezse ya da yapay zekâ yanıt vermezse çalıştırma **Durdu** olur ve hangi adımda kaldığı yazar. **Kaldığı yerden yeniden dene**: başarılı adımlar kayıttan geri yüklenir — araçlar ve model yeniden çağrılmaz, görev ya da taslak ikinci kez oluşmaz — ve yalnız hatalı adım, hata iletisi ajana geri verilerek yeniden çalışır.

## Öğrenilen kurallar {#learned}

Ajanın hazırladığı teklif, e-Fatura ve e-posta taslaklarında yaptığınız değişiklikler ve onay ekranındaki düzeltmeler her gece (varsayılan 02:00) incelenir. Aynı düzeltme **en az 3 kez** (ayarlanabilir: 2–4) ve tutarlı biçimde tekrarlanınca kalıcı kurala dönüşür:

| Kural | Örnek | Kapsam |
|---|---|---|
| Varsayılan vade | *Varsayılan vade 45 gün.* | firma · çalışma alanı |
| İskonto üst sınırı | *İskonto üst sınırı %12.* | firma |
| Varsayılan iskonto | *Varsayılan iskonto %5.* | firma |
| KDV oranı | *KDV oranı %10.* | ürün |
| Teklif dövizi | *Teklif dövizi USD.* | firma |
| Kur kaynağı | *Dövizli tekliflerde ve faturalarda TCMB döviz satış kuru kullanılır.* | çalışma alanı |
| E-posta üslubu | kapanış / selamlama, uzunluk, CC'ye eklenen adres | firma · çalışma alanı |
| Araç ipucu | ilk denemede hata verip ikinci denemede düzelen kalıplar (ör. tarih biçimi) | çalışma alanı |

Ertesi çalıştırmada ilgili firma, ürün ve çalışma alanı kuralları ve son düzeltme örnekleri ajanın talimatına eklenir. Teklif hesabı ve fatura hazırlığı kuralları doğrudan da uygular; iskonto üst sınırının altındaki bir teklif oluşturulmaz.

**Otomasyon › Ajanlar › Öğrenilen kurallar** (`/ajanlar/kurallar`) kuralları kanıt sayısı, güven ve kullanım sayısıyla listeler. Yönetici kuralı kapatır, reddeder (aynı değerle yeniden önerilmez), siler, elle kural ekler, **Şimdi öğren** ile öğrenmeyi hemen çalıştırır ve ayarları değiştirir: yeni kurallar hemen uygulansın mı, e-posta üslubu yapay zekâyla özetlensin mi, ajanın her yazma işlemi onay istesin mi, en az tekrar ve öğrenme saati. Satışçılar etkin kuralları görür.

## API {#api}

Bearer anahtarıyla ([REST API](/rest-api/authentication)):

| Uç nokta | Açıklama |
|---|---|
| `GET /api/v1/agent/runs` | Son çalıştırmalar ve kullanılabilir iş akışları |
| `POST /api/v1/agent/runs` | `{"workflow": "quote_prepare", "company_id": 402, "opportunity_id": 77, "order_ids": [], "instructions": "…"}` → 201 |
| `GET /api/v1/agent/runs/<run_id>?steps=1` | Durum, ölçümler, onay bekleyen adım; `steps=1` ile adım kaydı (`step_index`, `tool_name`, `input_json`, `output_json`, `status`, `duration_ms`, `user_override_json`) |
| `POST /api/v1/agent/runs/<run_id>/approve` | `{"approve": true, "input": {…düzeltilmiş değerler…}}` ya da `{"approve": false, "reason": "…"}` |
| `POST /api/v1/agent/runs/<run_id>/retry` | Kaldığı yerden yeniden dene |
| `GET /api/v1/agent/skills` | Etkin öğrenilmiş kurallar |

İş akışı anahtarları: `quote_prepare`, `invoice_draft`, `collection_reminder`, `lead_enrich`.

## Sınırlar {#limits}

- Bir çalıştırmada en çok 18 adım ve 26 model çağrısı; süre sınırı 10 dakika (aşılırsa kaldığı yerden yeniden denenebilir).
- Aynı anda kullanıcı başına en çok 3 çalıştırma.
- Ajan başlatanın yetkisiyle çalışır: rol, modül izni ve kayıt görünürlüğü aynen geçerlidir. Satışçı yalnız kendi çalıştırmalarını görür; yönetici hepsini.
- Fatura taslağı için e-Fatura ayarı ve faturalama yetkisi gerekir.
- Adım kayıtları 120 gün saklanır.