---
title: "n8n ile Terk Edilmiş Sepet E-postası: AI ile Kurtarma"
description: "n8n Schedule Trigger ve AI düğümüyle terk eden müşterilere kişisel kurtarma e-postası gönderin. AI kredisi dahil, API anahtarı yok, 2 dakikada hazır."
canonical: https://agentroost.app/tr/blog/n8n-terk-edilmis-sepet-eposta-otomasyonu
date: 2026-05-11T04:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/n8n-terk-edilmis-sepet-eposta-otomasyonu)

Yüzlerce e-ticaret sitesinin aynı şablonu kullandığı bir dünyada "Hey [Ad], sepetini unuttun mu?" artık kimseyi geri kazandırmıyor. Ancak kişinin baktığı ürünlere, sepet tutarına ve marka tonuna göre yazılmış bir e-posta farklı hissettiriyor. Bu kılavuzda n8n akışını adım adım kuracağız — AI düğümünü, zamanlamayı ve e-posta gönderimini gerçek node yapılandırmalarıyla.

---

## Sorunun anatomisi: neden jenerik e-postalar açılmıyor?

Klaviyo veya Mailchimp'in hazır şablonları şunu yapar: `{{ first_name }}` ekler, belki bir ürün görseli çeker, sabit bir indirim kodu yapıştırır. Müşteri bunu sabahtan akşama beş farklı markadan gördüğü için artık bunları görmezden geliyor.

Farklı yapabilmek için e-postanın içeriği şunları bilmek zorunda:

- Sepetteki ürün kategorisi (elektronik mi, giyim mi, kozmetik mi?)
- Kaç öğe var ve toplam tutar ne?
- Müşteri daha önce alışveriş yaptı mı?
- Terk etme saati (gece mi bıraktı, iş saatlerinde mi?)

Bu bilgilerin hepsini bir şablon motoru değil, bir LLM işleyebilir. Ve bunu n8n'in **AI/LLM düğümü** ile akışa entegre etmek düşündüğünüzden çok daha kolay.

---

## Akışın genel mimarisi

```
Schedule Trigger (her 30 dk)
  → HTTP Request  (sepet API'sinden terk edilmiş kayıtları çek)
  → IF  (terk zamanı > 1 saat mi?)
      → Set  (prompt değişkenlerini hazırla)
      → AI Agent / LLM düğümü  (kişisel e-posta metnini üret)
      → Send Email / SMTP  (e-postayı gönder)
      → HTTP Request  (sepeti "e-posta gönderildi" olarak işaretle)
```

Akış iki zaman dalgasında çalışır: ilk e-posta terk etmeden **1 saat** sonra, ikinci e-posta (farklı ton, belki indirim) **24 saat** sonra. Bunu iki ayrı IF düğümüyle veya tek akışta `contactedCount` alanına bakarak yönetebilirsiniz.

---

## Adım adım kurulum

### 1. Schedule Trigger — akışı başlat

`Schedule Trigger` düğümünü açın, **Interval** modunu seçin: `30 Minutes`. Bu kadar. Akış her yarım saatte bir terk edilmiş sepetlere bakacak.

### 2. HTTP Request — sepet verilerini çek

Eğer WooCommerce, Shopify veya kendi API'nizi kullanıyorsanız bu düğüm oraya bağlanır.

**WooCommerce örneği:**

```
Method: GET
URL: https://sizin-siteniz.com/wp-json/wc/v3/orders
Query Parameters:
  status: pending
  after: {{ $now.minus(30, 'minutes').toISO() }}
  per_page: 50
Authentication: Basic Auth (consumer key / secret)
```

Kendi veritabanınız varsa `/api/abandoned-carts?since={{ ... }}` gibi bir uç nokta yazabilirsiniz. n8n çıktısı bir JSON dizisi olacak; her öğe bir müşteri + sepet verisi.

### 3. IF — 1 saatlik pencereyi kontrol et

`IF` düğümü ekleyin:

```
Condition: {{ $json.created_at }} is older than 1 hour
Value 1: {{ new Date($json.created_at).getTime() }}
Value 2: {{ Date.now() - 3600000 }}
Operation: smaller than
```

Yalnızca bu koşulu geçen kayıtlar AI düğümüne ilerleyecek.

### 4. Set — AI'a verilecek bağlamı hazırla

`Set` düğümüyle sonraki düğümler için temiz değişkenler üretin:

| Değişken | Değer |
|---|---|
| `customerName` | `{{ $json.billing.first_name }}` |
| `cartItems` | `{{ $json.line_items.map(i => i.name).join(', ') }}` |
| `cartTotal` | `{{ $json.total }} TL` |
| `itemCount` | `{{ $json.line_items.length }}` |
| `abandonedAt` | `{{ $json.created_at }}` |

### 5. AI Agent düğümü — kişisel e-posta metni üret

n8n'in **AI Agent** (veya **Basic LLM Chain**) düğümünü ekleyin. **System Prompt:**

```
Sen {{ marka adı }}'nin müşteri ilişkileri uzmanısın.
Yazım tonu: samimi, yardımsever, baskıcı değil.
Cevabını yalnızca e-posta içeriği olarak ver.
Konu satırı ve gövde olarak iki bölüm yaz.
```

**User Prompt:**

```
Müşteri adı: {{ $json.customerName }}
Sepetteki ürünler: {{ $json.cartItems }}
Toplam tutar: {{ $json.cartTotal }}
Sepeti bırakma zamanı: {{ $json.abandonedAt }}

Bu müşteriye sepetteki ürünleri hatırlatan, 
ürünlere özel bir veya iki cümle içeren ve 
sert satış dili kullanmayan bir kurtarma e-postası yaz.
Maksimum 120 kelime.
```

> **Not:** AgentRoost üzerinde çalışan kendi n8n instance'ınızda AI düğümüne bir API anahtarı eklemenize gerek yok — krediler zaten dahil. Model seçmek isterseniz düğümdeki **Model** alanından istediğinizi belirleyebilirsiniz.

Düğüm çıktısı `{{ $json.text }}` formatında konu + gövde içerecek. Bunu `Split Out` veya `Code` düğümüyle ayrıştırabilirsiniz:

```javascript
const lines = $input.first().json.text.split('\n');
const subject = lines[0].replace('Konu:', '').trim();
const body = lines.slice(2).join('\n').trim();
return [{ json: { subject, body } }];
```

### 6. Send Email — e-postayı gönder

n8n'in yerleşik **Send Email** düğümü veya **Gmail** / **Brevo** / **Postmark** node'u kullanın:

```
To: {{ $('HTTP Request').item.json.billing.email }}
Subject: {{ $json.subject }}
Body: {{ $json.body }}
```

### 7. HTTP Request — sepeti işaretle

Aynı müşteriye tekrar e-posta gitmemesi için kaydı güncelleyin:

```
Method: POST
URL: https://sizin-siteniz.com/api/mark-contacted
Body:
  {
    "orderId": "{{ $('HTTP Request').item.json.id }}",
    "contactedAt": "{{ $now.toISO() }}",
    "wave": 1
  }
```

---

## 24 saatlik ikinci dalga

İlk akışın sonuna bir **Wait** düğümü ekleyebilirsiniz (`Resume: After time interval → 23 hours`). Ya da çok daha temiz bir alternatif: ayrı bir Schedule Trigger akışı kurun, bu sefer `wave: 1` ve `created_at > 23 saat önce` olan kayıtları çekin. İkinci e-postada tonu biraz değiştirin, küçük bir avantaj (ücretsiz kargo, küçük bir indirim) sunabilirsiniz — ama yine AI'a yazdırın, şablon değil.

---

## Bu akışı AgentRoost'ta çalıştırmak

AgentRoost'ta kendi n8n instance'ınızı edinmek iki dakika sürüyor:

1. [AgentRoost'a kayıt olun](/tr/agents/n8n) — e-posta/Google/Discord ile.
2. **n8n framework'ünü seçin**, instance'a bir isim verin.
3. `https://<id>.agentroost.app` adresinde özel n8n editörünüz açılır.
4. Yukarıdaki akışı kurun — AI düğümünü yapılandırdığınızda zaten çalışıyor; API anahtarı girmeniz gerekmiyor.

Bu kılavuzdaki AI düğümünü kullanmak için OpenAI veya Anthropic hesabı açmanıza, API anahtarı girmenize, kredi yüklemenize gerek yok. **AI kredisi aylık aboneliğe dahil.** Akışı kaydedin, aktive edin, bitti.

Veriler yalnızca sizin instance'ınızda — başka müşterilerle paylaşılan bir ortamda değil. Webhooklar `https://<id>.agentroost.app/webhook/...` adresinde hemen aktif, SSL dahil.

Fiyatlandırma **$19.99/ay**'dan başlıyor. 14 gün içinde memnun kalmazsanız iade alırsınız, yıllık taahhüt yok.

[Planları karşılaştır →](/tr/pricing)

---

## Sık yapılan hatalar

- **Her terk olayında akışı tetiklemek:** Büyük mağazalarda bu, çok fazla AI çağrısına yol açar. Toplu sorgulama (her 30 dakika) hem daha verimli hem daha ucuz.
- **Çok uzun prompt:** LLM'ye 500 kelime bağlam verip 50 kelimelik bir e-posta istemek gereksiz token harcıyor. Yalnızca ürün isimleri, tutar ve müşteri adı yeterli.
- **İkinci dalgayı unutmak:** Tek e-posta kampanyaları genellikle yetersiz kalır; ikinci dalga çoğu durumda anlamlı ek değer yaratır.
- **"İşaretleme" adımını atlamak:** Akışı test ederken sepeti işaretlemezseniz aynı müşteriye her çalışmada e-posta gider.
