Tüm Yazılar
KategoriAI
Okuma Süresi
23 dk okuma
Yayın Tarihi
...
Kelime Sayısı
2.731kelime

Kahveni hazırla - bu içerikli bir makale!

n8n ile self-host edilebilir AI otomasyon workflow'ları: 400+ entegrasyon, AI agent node, LangChain desteği, vector store ve RAG pipeline. Zapier ve Make karşılaştırması.

n8n AI Agent: Açık Kaynak Otomasyon Platformu ile Yapay Zeka

# n8n AI Agent: Açık Kaynak Otomasyon Platformu ile Yapay Zeka

Otomasyon dünyasında Zapier ve Make (eski Integromat) yıllardır lider. Ama her ikisi de kapalı kaynak, pahalı ve veri kontrolünü sana bırakmıyor. n8n, açık kaynak bir workflow otomasyon platformu olarak bu boşluğu dolduruyor ve 2025'te eklediği AI Agent node'ları ile oyunun kurallarını değiştiriyor. Kendi sunucunda çalışan, 400+ entegrasyonu olan, LangChain ile uyumlu ve RAG pipeline'ları oluşturabilen bir platform — üstelik ücretsiz. Bu yazıda n8n'in AI yeteneklerini, Zapier/Make karşılaştırmasını ve gerçek dünya otomasyon senaryolarını derinlemesine inceleyeceğiz.

💡 Pro Tip: n8n'in cloud versiyonu (n8n.io) aylık $20'dan başlıyor ama self-host versiyonu tamamen ücretsiz ve sınırsız workflow çalıştırabiliyor. Hetzner CX21 (~$5/ay) üzerinde host edebilirsin.

İçindekiler


n8n Nedir ve Neden Farklı?

n8n (pronounced "n-eight-n"), 2019'da Jan Oberhauser tarafından Berlin'de kuruldu. Bugün GitHub'da 55K+ star ile en popüler açık kaynak otomasyon platformlarından biri.

n8n'in Temel Farkları

Özellik
n8n
Zapier
Make
**Kaynak Kodu**
Açık kaynak (fair-code)
Kapalı
Kapalı
**Self-Host**
Evet
Hayır
Hayır
**Fiyat (self-host)**
Ücretsiz
**Fiyat (cloud)**
$20/ay
$20/ay
$9/ay
**Workflow limiti**
Sınırsız (self-host)
Plan bazlı
Plan bazlı
**Execution limiti**
Sınırsız (self-host)
750/ay (ücretsiz)
1000/ay (ücretsiz)
**Entegrasyon**
400+
6000+
1500+
**AI Agent**
Native node
App bazlı
App bazlı
**Custom code**
JavaScript/Python
Sınırlı
Sınırlı
**Veri kontrolü**
Tam (self-host)
Bulut
Bulut

Mimari Yapı

// n8n Teknik Mimarisi:

//

// ┌─────────────────────────────────────┐

// │ n8n Web UI (Vue.js) │

// │ Workflow Editor + Dashboard │

// ├─────────────────────────────────────┤

// │ Workflow Engine │

// │ Trigger → Node → Node → Output │

// ├─────────────────────────────────────┤

// │ Node Ecosystem │

// │ HTTP │ DB │ AI │ Email │ File │ ... │

// ├─────────────────────────────────────┤

// │ Execution Queue │

// │ Bull (Redis) / SQLite │

// ├─────────────────────────────────────┤

// │ Data Storage │

// │ PostgreSQL / MySQL / SQLite │

// └─────────────────────────────────────┘


AI Agent Node: Akıllı Otomasyon

n8n'in AI Agent node'u, workflow'larına yapay zeka yeteneği eklemenin en güçlü yolu. Basit bir "API çağır ve sonucu işle" değil, gerçek bir agent framework.

AI Agent Özellikleri

Özellik
Açıklama
**Multi-model**
OpenAI, Anthropic, Google, Ollama desteği
**Tool calling**
Agent'a araç tanımlama (web search, calculator, code exec)
**Memory**
Konuşma hafızası (window, summary, vector)
**Chain-of-thought**
Adım adım reasoning
**Output parsing**
Structured JSON çıktı
**Error handling**
Fallback model, retry logic

AI Agent Workflow Örneği

// Müşteri destek otomasyon workflow'u:

//

// Trigger: Email geldiğinde

// │

// ▼

// AI Agent: Email'i analiz et

// - Kategori: Teknik / Fatura / Genel

// - Sentiment: Pozitif / Negatif / Nötr

// - Aciliyet: Yüksek / Orta / Düşük

// │

// ├── Teknik → Jira ticket oluştur

// ├── Fatura → Muhasebe'ye yönlendir

// └── Genel → AI cevap taslağı oluştur

// │

// ▼

// Gmail: Otomatik cevap gönder

// Slack: Destek kanalına bildirim

Agent Node Konfigürasyonu

json
1{
2 "agent": {
3 "model": "claude-3.5-sonnet",
4 "systemPrompt": "Sen bir müşteri destek asistanısın. Türkçe cevap ver. Kibar ve çözüm odaklı ol.",
5 "tools": [
6 {
7 "name": "search_knowledge_base",
8 "description": "Bilgi tabanında arama yap",
9 "type": "vector_store_search",
10 "vectorStore": "qdrant",
11 "topK": 5
12 },
13 {
14 "name": "create_ticket",
15 "description": "Destek ticketi oluştur",
16 "type": "http_request",
17 "url": "https://api.jira.com/v3/issue",
18 "method": "POST"
19 },
20 {
21 "name": "get_order_status",
22 "description": "Sipariş durumunu kontrol et",
23 "type": "database_query",
24 "query": "SELECT status FROM orders WHERE id = $orderId"
25 }
26 ],
27 "memory": {
28 "type": "window",
29 "windowSize": 10
30 },
31 "maxIterations": 5,
32 "outputFormat": "structured_json"
33 }
34}
💡 Pro Tip: AI Agent node'unda "maxIterations" parametresi çok önemli. Agent bazen sonsuz döngüye girebiliyor — özellikle tool calling'de hata aldığında. 5-10 arası iteration limiti koyarak bunu önleyebilirsin.

LangChain Entegrasyonu

n8n, LangChain framework'ü ile native entegrasyon sunuyor. Bu, gelişmiş AI pipeline'ları oluşturmak için güçlü bir altyapı sağlıyor.

LangChain Node'ları

Node
Fonksiyon
Kullanım
**AI Agent**
Autonomous agent
Karar verme, tool kullanma
**Chain**
Sequential LLM calls
Çok adımlı işleme
**Retriever**
Bilgi getirme
RAG pipeline
**Embeddings**
Text → Vector
Semantic search
**Vector Store**
Vector depolama
Pinecone, Qdrant, Supabase
**Text Splitter**
Metin bölme
Chunk oluşturma
**Output Parser**
Çıktı yapılandırma
JSON, List, Structured
**Memory**
Konuşma hafızası
Buffer, Summary, Vector

LangChain Pipeline Örneği

// Dokuman analiz pipeline:

//

// PDF Upload Trigger

// │

// ▼

// Text Splitter (chunk_size: 1000, overlap: 200)

// │

// ▼

// Embeddings (OpenAI text-embedding-3-small)

// │

// ▼

// Vector Store Insert (Qdrant)

// │

// ▼

// AI Chain: Ozet olustur + Anahtar noktalar cikar

// │

// ▼

// Slack: Ozeti kanala gonder

// Google Sheets: Metadata'yi tabloya yaz


RAG Pipeline Oluşturma

Retrieval-Augmented Generation (RAG), n8n'in AI yeteneklerinin en güçlü kullanım alanı. Kendi verilerinle zenginleştirilmiş AI cevapları oluşturabilirsin.

RAG Mimarisi

// n8n RAG Pipeline Mimarisi:

//

// ┌─────────────────────────────────────┐

// │ Document Ingestion │

// │ PDF, DOCX, Web, API → Text Chunks │

// └──────────────┬──────────────────────┘

// │

// ▼

// ┌─────────────────────────────────────┐

// │ Embedding Model │

// │ text-embedding-3-small (OpenAI) │

// │ all-MiniLM-L6-v2 (Local) │

// └──────────────┬──────────────────────┘

// │

// ▼

// ┌─────────────────────────────────────┐

// │ Vector Store │

// │ Qdrant / Pinecone / Supabase │

// └──────────────┬──────────────────────┘

// │

// Query ────►│

// │

// ▼

// ┌─────────────────────────────────────┐

// │ Retrieval + LLM │

// │ Top-K chunks + System Prompt │

// │ → Claude/GPT → Answer │

// └─────────────────────────────────────┘

RAG Workflow Adımları

// n8n'de RAG pipeline kurulumu:

//

// Adim 1: Dokuman indeksle (bir kez)

//

// Manual Trigger → Google Drive: Dosya listele

// → Loop: Her dosya icin

// → PDF/DOCX Parser

// → Text Splitter (1000 char, 200 overlap)

// → Embedding (OpenAI)

// → Qdrant: Vector insert

//

// Adim 2: Soru-Cevap (her sorguda)

//

// Webhook Trigger: /ask?q=soru

// → Embedding: Soruyu vektore cevir

// → Qdrant: Top 5 benzer chunk getir

// → AI Agent: Chunk'lar + soru → cevap olustur

// → Webhook Response: JSON cevap don

Chunk Stratejileri

Strateji
Chunk Size
Overlap
Kullanım
**Küçük**
256
50
Hassas arama, FAQ
**Orta**
512
100
Genel amaçlı
**Büyük**
1024
200
Uzun dokümanlar
**Paragraf**
Değişken
0
Doğal bölümleme
**Semantic**
AI-based
Değişken
En iyi kalite
💡 Pro Tip: RAG pipeline'ında chunk size çok kritik. Çok küçük chunk'lar bağlam kaybeder, çok büyük chunk'lar irrelevant bilgi getirir. 512-1024 arası ve %20 overlap genelde en iyi sonucu verir. Ama semantic chunking varsa onu tercih et.

Firebase Advanced ile Firestore'daki verileri n8n workflow'larına bağlayarak, gerçek zamanlı veri güncellemelerini otomasyon tetikleyicisi olarak kullanabilirsin.


Vector Store ve Embedding

Desteklenen Vector Store'lar

Store
Hosting
Ücretsiz Tier
n8n Node
**Qdrant**
Self-host / Cloud
1GB cluster
Evet
**Pinecone**
Cloud
100K vector
Evet
**Supabase**
Cloud / Self-host
500MB
Evet
**Weaviate**
Self-host / Cloud
2M object
Evet
**Chroma**
Self-host
Sınırsız
Community
**PGVector**
Self-host
Sınırsız
Evet
**Milvus**
Self-host / Cloud
100K vector
Community

Embedding Model Karşılaştırması

Model
Boyut
Kalite
Maliyet
Hız
**text-embedding-3-large**
3072
En iyi
$0.13/1M token
Orta
**text-embedding-3-small**
1536
Çok iyi
$0.02/1M token
Hızlı
**all-MiniLM-L6-v2**
384
İyi
Ücretsiz (local)
Çok hızlı
**nomic-embed-text**
768
İyi
Ücretsiz (local)
Hızlı
**Cohere embed-v3**
1024
Çok iyi
$0.10/1M token
Orta

// Embedding model secimi:

//

// Senaryo 1: Butce sinirli, az veri

// → all-MiniLM-L6-v2 (local, ucretsiz)

//

// Senaryo 2: Genel amacli, iyi kalite

// → text-embedding-3-small (ucuz, iyi)

//

// Senaryo 3: Maksimum kalite, butce yeterli

// → text-embedding-3-large (en iyi sonuc)

//

// Senaryo 4: Tamamen offline, gizlilik oncelikli

// → nomic-embed-text (Ollama ile local)


Zapier vs Make vs n8n Karşılaştırması

Detaylı Karşılaştırma Tablosu

Kriter
n8n
Zapier
Make
**Öğrenme eğrisi**
Orta-Yüksek
Düşük
Orta
**Görsel editor**
Node-based
Step-based
Visual
**Hata ayıklama**
Mükemmel (execution log)
Sınırlı
İyi
**Custom code**
JS/Python tam destek
Sınırlı JS
Sınırlı
**Branching**
If/Switch/Merge
Path
Router
**Loop**
Native
Sınırlı
Native
**Error handling**
Try/Catch node
Auto-retry
Error handler
**Webhook**
Native
Native
Native
**Cron**
Native
Native
Native
**AI Agent**
Native node
App bazlı
App bazlı
**RAG**
Native pipeline
3rd party
3rd party
**Vector Store**
7+ native node
Yok
Yok
**LangChain**
Native entegrasyon
Yok
Yok
**API**
REST API tam
REST API
REST API
**Community**
55K GitHub stars
Büyük
Orta
**Destek**
Community + Enterprise
Email + Chat
Email

Hangi Durumda Hangisi?

// Karar agaci:

//

// AI otomasyon gerekli mi?

// ├── EVET → n8n (native AI agent + RAG)

// │

// Veri gizliligi kritik mi?

// ├── EVET → n8n (self-host)

// │

// Cok fazla entegrasyon gerekli mi?

// ├── EVET → Zapier (6000+ app)

// │

// Gorsel workflow tercih mi?

// ├── EVET → Make (en iyi gorsel editor)

// │

// Butce sinirli mi?

// ├── EVET → n8n self-host (ucretsiz)

// │

// Teknik bilgi sinirli mi?

// └── EVET → Zapier (en kolay)

💡 Pro Tip: n8n'in bir "Zapier uyumluluk modu" var — Zapier'den export ettiğin workflow'ları n8n'e import edebilirsin. Tam 1:1 uyumluluk olmasa da, basit workflow'ların %70-80'i otomatik dönüştürülüyor.

Gerçek Dünya Otomasyon Senaryoları

Senaryo 1: Blog Yayın Otomasyonu

// Trigger: WordPress'te yeni blog yayinlandiginda

// │

// ▼

// AI Agent: Blog icerigini analiz et

// - 3 farkli sosyal medya postu olustur

// - SEO meta description yaz

// - Ilgili blog'lari bul (RAG ile)

// │

// ├── Twitter/X: Tweet gonder

// ├── LinkedIn: Post paylas

// ├── Telegram: Kanal mesaji gonder

// ├── Newsletter: Email taslagi olustur

// └── Google Sheets: Analytics log

Senaryo 2: PR Review Bildirimi

// Trigger: GitHub PR acildiginda

// │

// ▼

// GitHub: PR diff al

// │

// ▼

// AI Agent: Kod review yap

// - Bug tespit

// - Security taramasi

// - Style check

// │

// ├── GitHub: PR comment birak

// ├── Slack: Review ozetini gonder

// └── Jira: Ilgili ticket'i guncelle

Senaryo 3: Musteri Geri Bildirim Analizi

// Trigger: Typeform cevabi geldiginde

// │

// ▼

// AI Agent: Geri bildirimi analiz et

// - Sentiment (pozitif/negatif/notr)

// - Kategori (bug/ozellik/soru/sikayet)

// - Oncelik (dusuk/orta/yuksek/kritik)

// │

// ├── Airtable: Kayit olustur

// ├── Slack: Ilgili kanala bildir

// └── IF kritik → PagerDuty: Alert olustur

WebSocket Real-Time uygulamalarına n8n webhook'larıyla gerçek zamanlı bildirim sistemi ekleyebilirsin.


Self-Host Kurulum ve Konfigürasyon

Docker ile Hızlı Kurulum

yaml
1# docker-compose.yml
2version: '3.8'
3services:
4 n8n:
5 image: n8nio/n8n:latest
6 ports:
7 - '5678:5678'
8 environment:
9 - N8N_BASIC_AUTH_USER=admin
10 - N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}
11 - DB_TYPE=postgresdb
12 - DB_POSTGRESDB_HOST=postgres
13 - DB_POSTGRESDB_DATABASE=n8n
14 - DB_POSTGRESDB_USER=n8n
15 - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
16 - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
17 - EXECUTIONS_DATA_PRUNE=true
18 - EXECUTIONS_DATA_MAX_AGE=168
19 - N8N_HOST=n8n.example.com
20 - N8N_PROTOCOL=https
21 volumes:
22 - n8n_data:/home/node/.n8n
23 depends_on:
24 postgres:
25 condition: service_healthy
26 
27 postgres:
28 image: postgres:16-alpine
29 environment:
30 - POSTGRES_DB=n8n
31 - POSTGRES_USER=n8n
32 - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
33 volumes:
34 - postgres_data:/var/lib/postgresql/data
35 healthcheck:
36 test: ['CMD-SHELL', 'pg_isready -U n8n']
37 interval: 5s
38 timeout: 5s
39 retries: 5
40 
41volumes:
42 n8n_data:
43 postgres_data:

Sistem Gereksinimleri

Bileşen
Minimum
Önerilen
Production
**CPU**
1 core
2 core
4+ core
**RAM**
1 GB
2 GB
4+ GB
**Disk**
5 GB
20 GB
50+ GB
**Node.js**
18+
20 LTS
20 LTS
**DB**
SQLite
PostgreSQL 14
PostgreSQL 16

Reverse Proxy (Nginx)

// /etc/nginx/sites-available/n8n

//

// server {

// listen 443 ssl http2;

// server_name n8n.example.com;

//

// ssl_certificate /etc/letsencrypt/live/n8n.example.com/fullchain.pem;

// ssl_certificate_key /etc/letsencrypt/live/n8n.example.com/privkey.pem;

//

// location / {

// proxy_pass http://localhost:5678;

// proxy_set_header Host $host;

// proxy_set_header X-Real-IP $remote_addr;

// proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

// proxy_set_header X-Forwarded-Proto $scheme;

//

// # WebSocket desteği (n8n'in push güncellemeleri için)

// proxy_http_version 1.1;

// proxy_set_header Upgrade $http_upgrade;

// proxy_set_header Connection "upgrade";

// }

// }

💡 Pro Tip: n8n self-host'ta en sık yapılan hata encryption key ayarlamamak. N8N_ENCRYPTION_KEY tanımlanmazsa, credential'lar düz metin olarak saklanıyor. Production'da mutlaka güçlü bir encryption key belirle ve yedekle — kaybedersen tüm credential'lar erişilemez hale gelir.

Daha fazla bilgi için n8n Documentation, n8n Community ve n8n GitHub sayfalarını inceleyebilirsin.

CI/CD Pipeline yazımızdaki GitHub Actions yapısıyla n8n webhook'larını birleştirerek, deploy sonrası otomatik test ve bildirim workflow'ları kurabilirsin.

typescript
1// n8n REST API ile workflow tetikleme — Next.js entegrasyonu
2interface N8nWebhookPayload {
3 event: string;
4 data: Record;
5 timestamp: string;
6}
7 
8async function triggerN8nWorkflow(
9 workflowWebhookId: string,
10 payload: N8nWebhookPayload
11): Promise {
12 const n8nBaseUrl = process.env.N8N_BASE_URL ?? 'https://n8n.example.com';
13 
14 const response = await fetch(`${n8nBaseUrl}/webhook/${workflowWebhookId}`, {
15 method: 'POST',
16 headers: { 'Content-Type': 'application/json' },
17 body: JSON.stringify(payload),
18 });
19 
20 if (!response.ok) {
21 throw new Error(`n8n webhook hatası: ${response.status} ${response.statusText}`);
22 }
23}
24 
25// Kullanım — deploy sonrası Slack bildirimi
26await triggerN8nWorkflow(process.env.N8N_DEPLOY_WEBHOOK_ID!, {
27 event: 'deployment.success',
28 data: {
29 environment: 'production',
30 version: process.env.NEXT_PUBLIC_APP_VERSION,
31 url: 'https://muhittincamdali.com',
32 },
33 timestamp: new Date().toISOString(),
34});

ALTIN İPUCU

Bu yazının en değerli bilgisi

Bu ipucu, yazının en önemli çıkarımını içeriyor.

Easter Egg

Gizli bir bilgi buldun!

Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?

Okuyucu Ödülü

Sonuna kadar okuyan kahramana özel: n8n + Qdrant + Claude kombinasyonuyla kendi "kişisel bilgi yönetimi" sistemi kurabilirsin. Notion sayfalarını, bookmarks'ları, e-postaları ve PDF'leri otomatik indeksle, sonra WhatsApp'tan "Geçen hafta okuduğum Machine Learning makalesindeki ana argüman neydi?" gibi sorular sor ve RAG ile doğru cevabı al. Bu "Second Brain" workflow'u, community'nin en beğenilen template'lerinden biri. n8n template library'de "AI Second Brain" araması yaparak hazır template'i import edebilirsin. Detaylar için [n8n AI Templates](https://n8n.io/workflows/) ve [n8n AI Documentation](https://docs.n8n.io/ai/) sayfalarını incele.

Sonuç ve Öneriler

n8n, açık kaynak otomasyon dünyasının AI ile birleştiği noktada benzersiz bir platform. Self-host edilebilirlik, 400+ entegrasyon, native AI agent node'ları ve LangChain/RAG desteği ile hem bireysel kullanıcılar hem de kurumsal ekipler için güçlü bir araç.

Önerilerim:

  1. Self-host ile başla — Docker ile 5 dakikada kur, veri kontrolü sende kalsın
  2. AI Agent node'unu dene — Basit bir email sınıflandırma workflow'u ile başla
  3. RAG pipeline kur — Kendi dokümanlarınla zenginleştirilmiş AI cevapları
  4. Sub-workflow pattern'ini benimse — Modüler, test edilebilir otomasyon'lar
  5. Community template'lerini incele — 1000+ hazır workflow template'i
  6. Zapier'den migrate et — Import özelliği ile kolay geçiş

iOS Security prensiplerini n8n self-host konfigürasyonunda da uygulamak önemli — özellikle TLS, authentication ve credential yönetimi konularında. iOS App Architecture yazımızdaki modüler mimari prensipleri, n8n sub-workflow tasarımında da birebir geçerli.

Etiketler

#n8n#AI Agent#Automation#LangChain#Vector Store#RAG#Open Source#Workflow
Muhittin Çamdalı

Muhittin Çamdalı

Senior iOS Developer

12+ yıllık deneyime sahip iOS Developer. Swift, SwiftUI ve modern iOS mimarileri konusunda uzman. Apple platformlarında performanslı ve kullanıcı dostu uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

Bunu da begenebilirsiniz