n8n Nedir ve İlk Otomasyonunuzu Sıfırdan Kurun
n8n, görsel bir editörde düğümleri birbirine bağlayarak otomasyon akışları oluşturmanıza izin veren açık kaynaklı bir iş akışı aracıdır. Zapier ya da Make gibi bulut hizmetlerine benzer ama fark şu: n8n'i kendi sunucunuzda çalıştırabilirsiniz ve verileriniz sizde kalır. Kodlama bilgisi gerekmez; ama isterseniz her düğümde JavaScript ya da Python de çalıştırabilirsiniz.
Bu rehberde n8n'in üç temel kavramını öğrenecek, ardından gerçek ve çalışan bir akış kuracaksınız: bir webhook'tan gelen içeriği alıp AI ile özetletmek ve sonucu Telegram'a göndermek.
Üç Temel Kavram: Tetikleyici, Düğüm, Bağlantı
Tetikleyici (Trigger)
Her akış bir tetikleyiciyle başlar. Tetikleyici, "şu olunca akışı başlat" sorusuna cevap verir. Başlıca tetikleyici türleri:
- Schedule Trigger — "Her gün sabah 08:00'de çalıştır."
- Webhook — Bir HTTP isteği geldiğinde tetiklenir. Harici bir uygulama (form, başka bir servis, CMS) bu URL'e veri gönderdiğinde akış başlar.
- Email Trigger (IMAP) — Yeni bir e-posta geldiğinde.
- Manual Trigger — Editörde "Test Et" butonuna basınca; geliştirme sırasında kullanılır.
Düğüm (Node)
Tetikleyici ateşlenince veriyi işleyen her adım bir düğümdür. Örneğin:
| Düğüm | Ne yapar |
|---|---|
HTTP Request |
Bir URL'e GET/POST isteği gönderir, cevabı JSON olarak alır |
AI Agent / Basic LLM Chain |
Seçilen LLM modeline metin gönderir, yanıt alır |
Set |
Alanları yeniden adlandırır, sabitleri ekler, veri şeklini değiştirir |
IF |
Bir koşulu kontrol eder; evet/hayır iki kola ayırır |
Telegram |
Bir bota mesaj gönderir |
Send Email |
SMTP ile e-posta atar |
Code |
Tek seferlik JavaScript veya Python kodu çalıştırır |
Bağlantı (Connection)
Düğümler arasındaki oklar bağlantıdır. Bir düğümün çıktısı (JSON nesnesi) bir sonraki düğümün girişi olur. n8n'de her şey JSON olarak akar; {{ $json.fieldName }} söz dizimiyle bir önceki düğümün herhangi bir alanına erişebilirsiniz.
Önemli: n8n'de veriler liste (array) olarak gelir. Birden fazla öğe varsa her öğe için akış ayrı ayrı koşabilir — buna "item batching" denir.
Adım Adım: "Webhook → AI Özet → Telegram" Akışı
Bu akış şu sorunu çözer: bir web formundan, CMS'ten ya da başka bir araçtan uzun bir metin geliyor; siz bunu her defasında elle okumak yerine AI'a özetletip Telegram'a almak istiyorsunuz.
Adım 1 — Yeni bir akış açın ve Webhook düğümü ekleyin
- n8n editöründe "+ New Workflow" butonuna tıklayın.
- Canvas'ın ortasına tıklayın → "Add first step" → Webhook seçin.
- Düğüm ayarlarında:
- HTTP Method:
POST - Path:
ozet-al(istediğiniz bir yol) - Response Mode:
Respond to Webhook(akış tamamlanınca cevap versin)
- HTTP Method:
- "Listen for Test Event" butonuna basın. n8n size bir test URL'si verir. Başka bir sekmede şu komutu çalıştırın:
curl -X POST https://<instance>.agentroost.app/webhook-test/ozet-al \
-H "Content-Type: application/json" \
-d '{"metin": "Bugün yapılan toplantıda üç karar alındı: bütçe onaylandı, yeni ürün Eylül'\''da çıkacak, pazarlama ekibi iki kişi büyüyecek."}'
Test verisi geldiğinde düğüm yeşile döner ve JSON çıktıyı gösterir.
Adım 2 — Basic LLM Chain düğümü ekleyin
- Webhook düğümünün sağındaki "+" okuna tıklayın → Basic LLM Chain seçin (veya arama kutusuna "llm" yazın).
- "Chat Model" alanına tıklayın → AgentRoost'ta kimlik bilgisi girme adımını atlayabilirsiniz, krediler zaten tanımlıdır.
- Prompt alanına şunu yazın:
Aşağıdaki metni 2-3 cümleyle Türkçe özetle:
{{ $json.metin }}
{{ $json.metin }} ifadesi önceki adımdan (Webhook) gelen metin alanını çeker.
- Model olarak istediğiniz herhangi bir modeli seçin —
gpt-4o-mini,claude-3-5-haiku,gemini-flashya da yüzlerce model arasından hangisini isterseniz, dilediğiniz zaman değiştirebilirsiniz.
Adım 3 — Set düğümü ekleyin (opsiyonel ama önerilir)
AI'dan gelen ham yanıt { "text": "..." } şeklindedir. Telegram düğümü bir metin alanı ister, bu yüzden veriyi düzleyelim:
- LLM Chain'in sağına Set düğümü ekleyin.
- "Add Field" → Name:
ozet, Value:{{ $json.text }}
Bu sayede bir sonraki adımda {{ $json.ozet }} diyebilirsiniz.
Adım 4 — Telegram düğümü ekleyin
- Set'in sağına Telegram düğümü ekleyin.
- Credential: Telegram Bot API token'ınızı girin (BotFather'dan alınan
123456:ABC...formatı). - Operation:
Send Message - Chat ID: Mesajın gideceği Telegram sohbetinin ID'si (kendinize göndermek için
@userinfobot'tan öğrenebilirsiniz). - Text:
📋 Yeni özet geldi:
{{ $json.ozet }}
Adım 5 — Akışı kaydedin ve aktive edin
Sağ üstteki "Save" butonuna basın, ardından toggle'ı "Active" konumuna getirin. Artık production webhook URL'niz hazır:
https://<instance>.agentroost.app/webhook/ozet-al
Bu URL'e POST atıldığında akış gerçek zamanlı çalışır ve Telegram'ınıza özet gelir.
Sık Yapılan Hatalar
- Test URL ile production URL karıştırmak:
/webhook-test/yolu sadece editörde "Listen" açıkken çalışır. Gerçek kullanımda/webhook/yolunu kullanın. - JSON alanı bulunamıyor hatası:
{{ $json.metin }}yazarken büyük/küçük harf önemlidir. Önceki düğümün çıktısını kontrol edin. - LLM yanıtı boş geliyor: Prompt çok uzun ya da model sınırını aşıyor olabilir.
Basic LLM Chain'de Max Tokens değerini düşürün veya daha yüksek bağlam pencereli bir model seçin. - Telegram mesajı gitmiyor: Bot'u sohbete eklemeyi unutmuş olabilirsiniz. Bota
/startgönderin ve Chat ID'yi doğrulayın.
Bu Akışı AgentRoost'ta Kurmak
Yukarıdaki adımları yerel ya da bir VPS'te denemek istiyorsanız, önünüzde Docker kurulumu, Nginx/Caddy reverse proxy, SSL sertifikası, n8n process yönetimi ve güvenlik güncellemeleri var. Bunların hepsiyle uğraşmak istemiyorsanız AgentRoost farklı çalışır:
- Kayıt olun — e-posta/şifre ya da Google/Microsoft/Discord ile.
- n8n çerçevesini seçin ve örneğinize bir ad verin.
- Yaklaşık 2 dakika sonra
https://<sizin-id>.agentroost.appadresinde kendi n8n editörünüz açılır — tamamen size aittir, başka kullanıcıyla paylaşılmaz. - Basic LLM Chain düğümünü eklediğinizde kimlik bilgisi girmek zorunda kalmazsınız — AI kredileri aboneliğe dahildir. Kendi API anahtarınızı alıp girmek gerekmez.
Fiyat: ayda $19,99'dan başlar, aylık ödeme, 14 gün içinde iade garantisi.
Planları karşılaştır → | n8n hakkında daha fazla →
Buradan Nereye?
Bu akışı öğrendikten sonra genişletebileceğiniz birkaç fikir:
- Schedule Trigger ekleyerek webhook yerine her sabah belirli bir RSS beslemesini çekip özet alın.
- IF düğümü ile özetteki belirli anahtar kelimeleri kontrol edin; "acil" geçiyorsa ayrı bir Telegram kanalına yönlendirin.
- HTTP Request ile özetlenen metni bir Notion veritabanına veya Google Sheet'e de kaydedin.
- Akışın başına Email Trigger ekleyin; gelen e-postaları otomatik özetleyin.
n8n'de her akış bu mantıkla büyür: tetikleyici → veri al → işle → gönder. Kavramları bir kez oturtunca gerisi kombinasyon.
Sıkça sorulan sorular
n8n kullanmak için kodlama bilmek şart mı?
Hayır. Temel akışlar tamamen görsel editörde, düğümleri sürükleyip bırakarak kurulur. İleride daha gelişmiş mantık için Code düğümünde JavaScript veya Python yazabilirsiniz; ama bu zorunlu değildir.
AI düğümlerini kullanmak için OpenAI API anahtarı almam gerekiyor mu?
AgentRoost'ta kendi n8n örneğinizi kullanıyorsanız hayır. AI/LLM düğümleri için gereken krediler aboneliğe dahildir; ayrıca bir API anahtarı almanız ve girmeniz gerekmez. Kendi sunucunuzda veya n8n Cloud'da çalıştırıyorsanız evet, kendi anahtarınızı sağlamanız gerekir.
Akışlarım ve verilerim nerede saklanır?
AgentRoost'ta her kullanıcı kendi bağımsız n8n örneğine sahiptir; verileriniz başka kullanıcılarla paylaşılmaz. Akışlarınızı n8n editöründen istediğiniz zaman JSON olarak dışa aktarabilirsiniz.
Aboneliği istediğim zaman iptal edebilir miyim?
Evet. AgentRoost aylık faturalandırma yapar, yıllık taahhüt yoktur. İstediğiniz zaman iptal edebilirsiniz. Ayrıca ilk 14 gün içinde iade garantisi mevcuttur.
n8n Cloud ile AgentRoost'taki n8n örneği arasındaki fark nedir?
n8n Cloud kendi platformunda çalışan yönetilen bir hizmettir; AI düğümleri için kendi API anahtarlarınızı getirmeniz gerekir. AgentRoost'ta ise size özel tek kiracılı bir n8n örneği çalışır ve AI kredileri abonelik fiyatına dahildir — ayrıca bir AI sağlayıcısına abone olmak zorunda kalmazsınız.