# 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ı?
- AI Agent Node: Akıllı Otomasyon
- LangChain Entegrasyonu
- RAG Pipeline Oluşturma
- Vector Store ve Embedding
- Zapier vs Make vs n8n Karşılaştırması
- Gerçek Dünya Otomasyon Senaryoları
- Self-Host Kurulum ve Konfigürasyon
- Sonuç ve Öneriler
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": 512 },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": 1030 },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.yml2version: '3.8'3services:4 n8n:5 image: n8nio/n8n:latest6 ports:7 - '5678:5678'8 environment:9 - N8N_BASIC_AUTH_USER=admin10 - N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}11 - DB_TYPE=postgresdb12 - DB_POSTGRESDB_HOST=postgres13 - DB_POSTGRESDB_DATABASE=n8n14 - DB_POSTGRESDB_USER=n8n15 - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}16 - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}17 - EXECUTIONS_DATA_PRUNE=true18 - EXECUTIONS_DATA_MAX_AGE=16819 - N8N_HOST=n8n.example.com20 - N8N_PROTOCOL=https21 volumes:22 - n8n_data:/home/node/.n8n23 depends_on:24 postgres:25 condition: service_healthy26 27 postgres:28 image: postgres:16-alpine29 environment:30 - POSTGRES_DB=n8n31 - POSTGRES_USER=n8n32 - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}33 volumes:34 - postgres_data:/var/lib/postgresql/data35 healthcheck:36 test: ['CMD-SHELL', 'pg_isready -U n8n']37 interval: 5s38 timeout: 5s39 retries: 540 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 entegrasyonu2interface N8nWebhookPayload {3 event: string;4 data: Record; 5 timestamp: string;6}7 8async function triggerN8nWorkflow(9 workflowWebhookId: string,10 payload: N8nWebhookPayload11): 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 bildirimi26await 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:
- Self-host ile başla — Docker ile 5 dakikada kur, veri kontrolü sende kalsın
- AI Agent node'unu dene — Basit bir email sınıflandırma workflow'u ile başla
- RAG pipeline kur — Kendi dokümanlarınla zenginleştirilmiş AI cevapları
- Sub-workflow pattern'ini benimse — Modüler, test edilebilir otomasyon'lar
- Community template'lerini incele — 1000+ hazır workflow template'i
- 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.

