---
title: "n8n ile Google Sheets Verilerini Yapay Zekâyla Zenginleştir"
description: "n8n AI düğümüyle Google Sheets satırlarını otomatik etiketleyin: kategori, duygu analizi, özet. Adım adım iş akışı rehberi — API anahtarı gerekmez."
canonical: https://agentroost.app/tr/blog/n8n-google-sheets-veri-zenginlestirme-ai
date: 2026-05-09T04:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/n8n-google-sheets-veri-zenginlestirme-ai)

Google E-Tablonuzda yüzlerce, belki binlerce satır var. Her satırda bir müşteri yorumu, bir destek talebi, bir ürün açıklaması ya da ham lead verisi. Bu satırları okuyup sınıflandırmak için ya saatler harcıyorsunuz ya da o işi hiç yapmıyorsunuz.

n8n'in AI/LLM düğümü bu tıkanıklığı çözer: her satırı okur, sizin belirlediğiniz şemaya göre etiketler ve sonucu doğrudan tablonuzda yeni bir sütuna yazar. Tek yapmanız gereken akışı bir kez kurmak.

---

## Akışın mantığı: ne yapacağız?

Hedef basit: Google Sheets'ten her satırı çek → LLM'e gönder → gelen cevabı aynı satıra yaz.

Kullanacağımız n8n düğümleri şunlar:

| Düğüm | Görevi |
|---|---|
| **Schedule Trigger** | Akışı her gece otomatik başlatır |
| **Google Sheets → Read Rows** | Ham veriyi çeker |
| **IF** | Zaten etiketlenmiş satırları atlar |
| **Loop Over Items** | Satırları tek tek işler |
| **AI / LLM düğümü** | Her satır için LLM'e istek atar |
| **Set** | Dönen JSON'dan istediğiniz alanı ayıklar |
| **Google Sheets → Update Row** | Sonucu tabloya geri yazar |

---

## Adım adım kurulum

### 1. Google Sheets bağlantısını kurun

n8n'de **Credentials → Add → Google Sheets OAuth2** yolunu izleyin. Google Cloud Console'dan bir OAuth istemci kimliği oluşturup buraya yapıştırın — bu adımı bir kez yaparsınız, ardından tüm akışlarınızda aynı kimlik bilgisini kullanırsınız.

Tablonuz şöyle görünüyor olsun:

| A: Yorum | B: Kategori | C: Duygu | D: Özet |
|---|---|---|---|
| "Kargo çok geç geldi" | _(boş)_ | _(boş)_ | _(boş)_ |
| "Ürün harika, hızlı kargo" | _(boş)_ | _(boş)_ | _(boş)_ |

### 2. Schedule Trigger — ne zaman çalışacak?

**Schedule Trigger** düğümü ekleyin. "Interval" alanını `Every Day` olarak ayarlayın, saati ise mesai saati dışı bir vakite alın (örn. 02:00). Tablonuz sürekli büyüyorsa bunu `Every Hour` yapabilirsiniz.

### 3. Google Sheets: satırları çekin

**Google Sheets** düğümü ekleyin, Operation: `Read Rows`. Sheet ID'yi URL'den kopyalayın:

```
https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit
```

"Filters" bölümünden B sütununa `isEmpty` filtresi ekleyin — böylece zaten işlenmiş satırlar tekrar LLM'e gitmiyor. Hem maliyet hem süre açısından kritik bir optimizasyon.

### 4. IF düğümü (ilave bir güvence)

Bazen Sheets filtresi yetmez; bir hücre boş görünüp boşluk karakteri içerebilir. **IF** düğümüyle `{{ $json["Kategori"] }}` alanının gerçekten boş olup olmadığını kontrol edin. "True" çıkışı bir sonraki adıma geçsin, "False" çıkışı hiçbir yere bağlı olmasın — n8n bu satırı düşürür.

### 5. Loop Over Items — satır satır işleme

**Loop Over Items** düğümü akışın kalbini oluşturur. Batch size'ı `1` yapın: her LLM çağrısı tek bir satır için atılsın; bu sayede hata olduğunda hangi satırın sorun çıkardığını görmek kolaylaşır.

### 6. AI / LLM düğümü — asıl iş burada

**AI** düğümü (ya da **@n8n/n8n-nodes-langchain.lmOpenAi** / **Langchain LLM Chain** — n8n sürümünüze bağlı olarak isim değişebilir) ekleyin.

**System Prompt:**
```
Sen bir müşteri deneyimi analistisisin. Sana verilen metni analiz edip
aşağıdaki JSON formatında yanıt ver. Başka hiçbir şey yazma.

{
  "kategori": "kargo | ürün | ödeme | iade | diğer",
  "duygu": "olumlu | olumsuz | nötr",
  "ozet": "Metnin tek cümlelik özeti"
}
```

**User Prompt (Expression):**
```
{{ $json["Yorum"] }}
```

Model seçimi için `gpt-4o-mini` uygun maliyetli bir başlangıç noktasıdır. Daha uzun metinlerde `claude-haiku` veya `gemini-flash` deneyebilirsiniz. AgentRoost'ta 350'den fazla model arasından geçiş yapabilirsiniz; hangi modeli seçerseniz seçin, AI kredisi aboneliğinize dahildir.

> **Not:** AgentRoost'ta bu düğümü kullanırken API anahtarı girmenize gerek yok. LLM kredisi aboneliğinize dahil — düğümü ekleyip promptu yazıyorsunuz, gerisini sistem hallediyor.

### 7. Set düğümü — JSON'u parçalayın

LLM'den dönen yanıt tek bir metin bloğu. **Set** düğümüyle bunu üç ayrı alana bölün:

```json
{
  "kategori": "={{ JSON.parse($json.output).kategori }}",
  "duygu":    "={{ JSON.parse($json.output).duygu }}",
  "ozet":     "={{ JSON.parse($json.output).ozet }}"
}
```

> **İpucu:** LLM bazen yanıtı ` ```json ... ``` ` kod bloğuyla sarar. Bu durumda önce bir **Code** düğümüyle bloğu temizleyin:
> ```js
> const raw = $input.first().json.output.replace(/```json|```/g, "").trim();
> return [{ json: JSON.parse(raw) }];
> ```

### 8. Google Sheets: satırı güncelleyin

**Google Sheets** düğümü, Operation: `Update Row`. Row Number için `{{ $('Google Sheets').item.json.row_number }}` ifadesini kullanın — n8n her satıra bu alanı otomatik ekler.

Sütun eşlemesi:

| n8n alanı | Sheets sütunu |
|---|---|
| `kategori` | B |
| `duygu` | C |
| `ozet` | D |

Kaydedip "Test workflow" ile birkaç satırda deneyin. Tabloya dönüp B, C, D sütunlarının dolduğunu gördüğünüzde akış hazır.

---

## Yaygın sorunlar ve çözümleri

**LLM çıktısı JSON değil, düz metin geliyor:**
System Prompt'a `"Başka hiçbir şey yazma, sadece JSON döndür"` ekleyin. Model yine de uymazsa `JSON Mode` (OpenAI'de `response_format: json_object`) kullanın.

**Filtreden atlamış satırlar yeniden işleniyor:**
`isEmpty` filtresi yerine `equals` → `""` kullanmayı deneyin; bazı Sheets API sürümlerinde davranış farklılaşıyor.

**Loop çok yavaş, binlerce satır var:**
Batch size'ı `5-10`'a çıkarın ve System Prompt'a "Her metni sırayla işle, sonuçları JSON dizisi olarak döndür" ekleyin; Loop'tan çıkan her item'ı döngüde eşleştirin.

---

## AgentRoost'ta bu akışı çalıştırın

Bu akışı kendi bilgisayarınızda kurmak isteseydiniz: n8n yüklemek (Docker veya npm), port açmak, SSL sertifikası almak, Google OAuth callback URL'sini ayarlamak, akışın her gece çalışması için sunucunun uyanık olmasını sağlamak — ve elbette bir LLM sağlayıcısından API anahtarı alıp bunu aboneliğe bağlamak.

AgentRoost'ta bunların hiçbiri yok.

**Nasıl çalışır:**
1. [agentroost.app](/tr/agents/n8n)'e gidin, e-posta veya Google hesabınızla kaydolun.
2. Framework olarak **n8n** seçin, instance'ınıza bir isim verin.
3. ~2 dakika içinde kendi n8n editörünüz `https://<sizin-id>.agentroost.app` adresinde açılır — bu instance tamamen size aittir.
4. Yukarıdaki adımları takip edip akışı oluşturun. AI düğümüne API anahtarı girmeden LLM çağrısı yapabilirsiniz — krediler aboneliğe dahil.
5. Schedule Trigger aktif olduğunda akış 7/24 çalışır; bilgisayarınızın açık olmasına gerek yok.

Fiyat $19.99/ay'dan başlıyor, aylık ödeme, istediğiniz zaman iptal edebilirsiniz. İlk 14 gün içinde memnun kalmazsanız para iadesi yapılıyor.

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

---

## Ne tür veriler için kullanabilirsiniz?

Bu şablonu minimum değişiklikle farklı senaryolara uyarlayabilirsiniz:

- **Müşteri yorumları** → duygu + kategori + aciliyet skoru
- **Destek talepleri** → konu etiketleme + öncelik tespiti
- **Lead listesi** → sektör tahmini + kısa şirket özeti (web sitesini HTTP Request düğümüyle çekip LLM'e besleyebilirsiniz)
- **İçerik fikirleri** → hedef kitle + içerik türü + anahtar kelime önerisi
- **Stok açıklamaları** → SEO başlığı + kısa açıklama üretimi

Her durumda temel yapı aynı: Sheets'ten oku → LLM'e gönder → Sheets'e yaz.
