Program
n8n, ajansal yapay zekada popüler ve güçlü bir çerçeve olarak öne çıktı. Karmaşık kodlama gerektirmeden otomatik iş akışları oluşturmamıza olanak tanır.
Bu yazıda, bu sağlam platformdan en iyi şekilde yararlanarak iki farklı süreci otomatikleştirmeyi adım adım anlatacağım:
- Önce, Gmail'den gelen e-postayı otomatik olarak işleyerek değerli zaman kazandıran ve manuel çabayı azaltan bir yapay zeka ajanını kurmanıza rehberlik edeceğim.
- Ardından, herhangi bir doküman hakkında sohbet edebilen, bilgiyi parmak uçlarımızda hızlıca erişilebilir kılan akıllı bir ajan oluşturacağız.
Okurlarımızı yapay zekadaki en son gelişmelerden haberdar etmek için her cuma ücretsiz bültenimiz The Median'ı gönderiyoruz; haftanın önemli haberlerini özetliyoruz. Abone olun, haftada sadece birkaç dakikada güncel kalın:
n8n Nedir?
n8n, bir çeşit dijital montaj hattı gibi, çeşitli uygulama ve hizmetleri bağlayarak iş akışları oluşturmamıza yardımcı olan açık kaynaklı bir otomasyon aracıdır. Kullanıcıların bu iş akışlarını görsel olarak tasarlamasına olanak tanır; düğümlerin her biri süreçteki farklı bir adımı temsil eder.
n8n ile görevleri otomatikleştirebilir, veri akışını yönetebilir ve hatta API'leri entegre edebiliriz; üstelik kapsamlı programlama becerilerine gerek kalmadan. Bu eğitimde oluşturacağımız bir otomasyon örneği burada:

Detaylara girmeden, bu otomasyonun ne yaptığına dair bir açıklama:
- Yeni e-posta mesajlarını kontrol etmek için Gmail hesabımıza erişir.
- Yeni e-postalar, yapay zeka ile işlenmek üzere ChatGPT'ye gönderilir.
- Yapay zeka ilgili bilgileri belirler ve ardından bunlar bir hesap tablosuna kaydedilir.
n8n Nasıl Kullanılır?
n8n'i kullanmak için iki seçeneğimiz var:
- Web arayüzlerini buradan kullanmak. Bu bir hesap ve ücretli abonelik gerektirir, ancak bu eğitimi takip etmek için kullanabileceğiniz 14 günlük ücretsiz deneme sunar.
- Açık kaynak olduğundan, yerel olarak da çalıştırabilir veya kendimiz barındırabiliriz. Bu ücretsizdir ve neredeyse tüm özelliklerine erişim sağlar (bazı özellikler yalnızca ücretli bulut veya kurumsal planlara özeldir).
Her iki seçenek de bu eğitimi ücretsiz olarak takip etmenizi sağlar. Biz yerelde çalıştıracağız; ancak web arayüzünü tercih ederseniz adımlar aynıdır.
n8n 2.0'da neler yeni
Not: n8n 2.0, 2025 sonlarında yayımlandı ve Taslak/Yayınla iş akışı sistemi, otomatik kaydetme (Ocak 2026), tuvali kaybetmeden düğümleri düzenlemek için güncellenmiş odak paneli ve daha iyi güvenlik için iş akışı yürütmesini izole eden Görev Çalıştırıcıları (Task Runners) getirdi.
Aşağıdaki iş akışları 2.x üzerinde çalışır — 1.x kullanıyorsanız, devam etmeden önce yükseltmeyi düşünün.
n8n Yerel Kurulum
n8n'in resmi deposu, n8n'i yerelde nasıl kuracağınızı açıklar. En basit yol şu şekildedir:
-
Node.js'i resmi web sitesinden indirin ve kurun.
-
Bir terminal açın ve
npx n8nkomutunu çalıştırın.
Hepsi bu! Komutu çalıştırdıktan sonra terminalde şunları görmelisiniz:

Arayüzü açmak için ya klavyede "o" tuşuna basın ya da terminalde gösterilen localhost URL'sini açın—benim durumumda http://localhost:5678.
n8n'i Anlamak
İlk otomasyonumuzu oluşturmadan önce, n8n'in nasıl çalıştığını anlamak faydalı olacaktır. Bir n8n iş akışı, bir dizi düğümden oluşur. Bir tetikleyici düğümle başlar ve bu düğüm, iş akışının hangi koşullarda çalışacağını belirtir.

Düğümler, veriyi taşımak ve işlemek için birbirine bağlanır. Bu örnekte, Gmail tetikleyici düğümü bir OpenAI düğümüne bağlanır. Bu, e-postanın işlenmek üzere ChatGPT'ye verildiği anlamına gelir. Son olarak, ChatGPT'nin çıktısı bir Google Sheet düğümüne gönderilir; bu düğüm Google Drive'ımızdaki bir Google Sheet'e bağlanır ve e-tabloda yeni bir satır yazar.
Bu özel iş akışı, ödenmesi gereken faturaları belirlemek için ChatGPT'yi kullanır ve fatura kimliği ile tutarı sayfaya işler.

n8n iş akışları çok daha karmaşık olabilir. n8n, 400'den fazla resmi entegrasyonu (çekirdek düğümler), 600+ topluluk düğümünü ve HTTP Request düğümü üzerinden özel bağlantıları destekler — bu nedenle hepsini bir eğitimde ele almamız mümkün değil.
Bunun yerine, size nasıl çalıştığına dair genel bir fikir ve kendi başınıza keşfetmek için gerekli altyapıyı vermeye odaklanacağım. Düzenli olarak kullandığınız bir araç varsa, büyük olasılıkla n8n onu destekliyordur veya elle entegre edebilirsiniz.
Örnek 1: E-postadan Fatura İşlemeyi Otomatikleştirme
Bu bölümde, yukarıdaki iş akışını nasıl kuracağımızı öğreneceğiz.
Bu, kiralama faturalarımı yönetmek için kullandığım gerçek bir kullanım senaryosudur. Kiraya verdiğim birkaç odası olan bir evim var. Faturalar tüm kiracılar arasında eşit bölüşülüyor. Her fatura aldığımda, toplamı kiracılarla paylaşılan bir e-tabloda güncellemem gerekiyor.
Ev faturalarıyla ilgili faturaların yönlendirildiği özel bir e-posta adresim var. Böylece, bu posta kutusundaki tüm e-postaların bir faturaya karşılık geldiğini biliyorum. E-postanın içeriğini, fatura kimliğini ve ödenecek toplam tutarı belirlemesi için ChatGPT'ye gönderiyorum. Ardından bu bilgiler, paylaşılan e-tabloda yeni bir satır olarak ekleniyor.
E-posta tetikleyicisini yapılandırma
Yeni bir iş akışı başlatmak için "İlk adımı ekle..." düğmesine tıklamamız gerekir.

İlk düğüm olduğu için bir tetikleyici olmalıdır; bu nedenle bir tetikleyici düğüm seçmemiz için bir panel sunulur. Tetikleyici düğüm, iş akışının çalışacağı koşulları tanımlar.

Geniş bir tetikleyici düğüm yelpazesi vardır. Arama kutusuna "gmail" yazarak ve Gmail düğümüne tıklayarak bir Gmail tetikleyici düğümü seçelim.

Ardından, Gmail için mevcut tek tetikleyiciyi seçiyoruz: "Mesaj alındığında".

Bu, düğüm yapılandırma panelini açar; burada n8n iş akışının Gmail hesabımıza erişebilmesi için Gmail kimlik bilgilerini yapılandırmamız gerekir. Bunun için "Yeni kimlik bilgisi"ne tıklayın. Aşağıdaki pencere açılacaktır:

Sağ tarafta (1), Google Cloud üzerinde kimlik bilgilerini yapılandırmak için gerekli adımları açıklayan bir kurulum kılavuzu vardır. n8n tarafından sağlanan kılavuzlar oldukça kapsamlıdır; adımları burada tekrar etmeyeceğiz. Google Cloud Console'da Gmail API'yi etkinleştirmeyi de unutmayın.
Yapılandırma tamamlandığında, Google Cloud'dan istemci kimliğini (2) ve istemci gizli anahtarını (3) kopyalayıp n8n'deki kimlik bilgisi yapılandırmasına yapıştırmamız gerekir.
Her şeyin doğru yapılandırıldığından emin olmak için "Test Etkinliği Getir"e tıklayarak düğümü test edebiliriz.

Testten sonra, çıktı bölümünde gelen kutumuzda aldığımız en son e-postayı görmeliyiz. E-postanın içeriği snippet alanıdır.

snippet alanı e-posta içeriğini saklar. Nisan internet faturamın hazır olduğunu söylüyor. Fatura kimliğini ve ödenecek toplam tutarı veriyor. E-tabloya eklemek istediğimiz bilgiler bunlar.
Test amacıyla, sağ üstteki iğne simgesine tıklayarak çıktıyı sabitlemenizi öneririm:

Bu, sonucu tetikleyiciye kilitleyecektir; yani bu iş akışını ne zaman çalıştırırsak aynı çıktı kullanılacak. Böylece test etmek kolaylaşır; sonuçlar yeni gelen e-postalardan etkilenmez. İş akışını doğru şekilde kurduğumuzda sabitlemeyi kaldıracağız.
Bu aşamada, iş akışımız tek bir tetikleyici düğüme sahip olmalıdır (sol taraftaki küçük şimşek işaretinden tetikleyici olduğu anlaşılır).

Muhtemelen posta kutunuzda bir e-posta faturası olmayacağından, ileride ChatGPT mantıklı olmayan bir yanıt verebilir. Bu iş akışını birebir test etmek isterseniz, kendinize aşağıdaki içerikle (veya benzeri) bir test e-postası gönderebilirsiniz:
Dear customer,
Your internet invoice number FT 2025**/****** for April is now available in the attachment.
Amount
€**.**
This invoice must be paid by 19/05/2025.
Bunu gönderdikten sonra sonucu sabitlemeyi kaldırmalı, Gmail düğümünü yeniden çalıştırmalı ve yeni sonucu sabitlemelisiniz.
ChatGPT düğümünü yapılandırma
Bir sonraki adım OpenAI düğümünü yapılandırmaktır. Gmail tetikleyici düğümünün sağındaki "+" düğmesine tıklayarak başlayın:

"OpenAI" yazın ve listeden ilgili seçeneği belirleyin.

Ardından, "Metin Eylemleri" altında "Modele mesaj gönder" düğümünü seçin. Bu düğüm bir BBA'ye mesaj göndermek için kullanılır.

Daha önce olduğu gibi, OpenAI'a erişmek için bir kimlik bilgisi oluşturmamız gerekir. Bir kimlik bilgisi oluşturulduktan sonra, herhangi bir iş akışında yeniden kullanılabilir. Her seferinde yeniden ayarlamamız gerekmez.
OpenAI kimlik bilgisi için tek ihtiyacımız bir API anahtarıdır. Henüz yoksa buradan oluşturabilirsiniz. Bunda zorlanırsanız, n8n bunun için de bir kılavuz sunar.
Yapılandırma açısından, kullanmak istediğimiz yapay zeka modelini ve modele göndereceğimiz mesajı seçmemiz gerekir.
Model için GPT-4.1 kullanacağız. OpenAI o zamandan beri GPT-5 ailesini (5.4, 5.4-mini, 5.5) yayımladı ve 4.1'i ChatGPT'den kaldırdı, ancak API üzerinden hâlâ mevcut ve bu tür basit çıkarımlar için fazlasıyla yeterli.

Mesaj alanında, istemi sağlamamız gerekir. Bu örnekte, modele e-postanın içeriğini veriyor ve fatura kimliği ile ödenecek toplam tutarı belirlemesini istiyoruz. Benim kullandığım istem şu:

E-postanın içeriği {{ $json.snippet }} olarak sağlanır. n8n'de istem, önceki düğümlerin çıktısından doldurulan değişkenler içerebilir; bizim durumumuzda e-posta. Kullanılabilir alanların listesi solda görülebilir. Alanı elle yazabilir veya sürükleyip bırakabiliriz.

Bunu test etmek için, yapılandırma panelinin üst kısmındaki "Adımı Test Et" düğmesine tıklarız. Sonuç sağda görüntülenir:

Sonuç, modelden gelen yanıtın yer aldığı bir dizedir. Mesajı daha fazla işlemeye gerek kalmaması için iki alanın ayrı ayrı olmasını isteriz. Bunu, BBA'nın çıktısını JSON olarak değiştirerek sağlayabiliriz:

Bu adımı tekrar test ettiğimizde, iki alanı JSON veri olarak alırız:

Veriyi bir Google Sheet'e gönderme
Bu iş akışındaki son adım, fatura kimliği ve tutarı bir Google Sheet'te yeni bir satıra göndermektir. Bu aşamada, OpenAI düğümünün çıktısını Google Sheets'e bağlamamız gerekir. Bunu, daha önce olduğu gibi düğümün solundaki "+" düğmesine tıklayarak yaparız:

Burada Google Sheets yazıp "Sayfaya satır ekle" düğümünü seçmek istiyoruz:

Gmail erişimi için kullandığımız aynı kimlik bilgilerini kullanabiliriz. Ancak Google Cloud Console'da aşağıdaki API'leri etkinleştirmemiz gerekir:
- Google Sheets API
- Google Drive API
Google Sheets düğümünü yapılandırmak için sayfayı seçmemiz ve alanları dolduracak değerleri belirtmemiz gerekir. Sayfa, biri fatura kimliğini, diğeri fatura toplamını tutacak iki sütunla manuel olarak oluşturulmalıdır.

Bu değerler OpenAI düğümünün çıktısından alınır. Sütunlara sürükleyip bırakabiliriz.

İş akışını çalıştırma
Hepsi bu! Faturalarımızı otomatik olarak bir Google Sheet'e işleyen bir iş akışımız var. Alt kısımdaki "İş akışını test et"e tıklayarak bunu test edebiliriz:

Çalıştırdıktan sonra, Google Sheet'imize gittiğimizde verilerin olduğu yeni bir satır göreceğiz:

Varsayılan olarak, bir iş akışı her dakika çalışır. İş akışına bağlı olarak, uygun bir çalışma sıklığı yapılandırmalıyız. Bu özel örnekte, dakikada bir çok sık. Günde bir kez daha uygun bir sıklıktır.
Bunu, tetikleyici düğümüne çift tıklayıp "Yoklama Zamanları" alanına farklı bir değer girerek yapılandırabiliriz:

Örnek 2: Bir RAG Ajanı Oluşturma
Bu bölümde daha karmaşık bir RAG ajanı iş akışı oluşturuyoruz. RAG, bir veritabanı veya dokümandan ilgili bilgileri getirme ve ardından getirilen bilgilere dayanarak yanıtlar üretmek için bir dil modeli kullanma tekniğidir.
Bu, belirli bir bilgi tabanımız olduğunda, örneğin uzun bir metin dokümanı, ve bunun hakkında soruları yanıtlayabilen bir yapay zeka ajanı oluşturmak istediğimizde çok kullanışlıdır.
Masa oyunlarını oynamayı severim; ancak arkadaşlarımla sık sık kurallar hakkında tartışır ve oynamak yerine doğru kuralları aramakla zaman kaybederiz; bu da can sıkıcı olabilir. Oyunun kurallarına dayalı bir RAG ajanı oluşturmak, bu sorunu çözmek için iyi bir çözümdür; çünkü bir dahaki sefere bir sorumuz olduğunda, doğrudan ajana sorabiliriz.
Bu ajanı oluşturmak için iki iş akışı yapacağız:
- Verileri bir kez çalıştıracağımız bir iş akışıyla Pinecone veritabanına yükleyeceğiz.
- Bir diğeri de RAG ajanını çalıştıracak ve sorularımıza yanıt vermek için Pinecone veritabanını kullanacak.
Verileri Pinecone'a yükleme
Pinecone, verileri vektörler biçiminde yöneten bir veritabanı türüdür. Pinecone gibi bir vektör veritabanı, RAG ajanımız için idealdir; çünkü ajanın ilgili bilgileri hızla bulmasına ve anlamasına yardımcı olarak doğru yanıtlar sağlama verimliliğini artırır.
Bu iş akışını yalnızca bir kez çalıştırmamız gerektiğinden, manuel tetikleyici düğümü kullanabiliriz. Bu, bir iş akışını elle çalıştırmak için kullanılan bir tetikleyici düğümdür.

Manuel tetikleyici düğümünü, verileri Google Drive'dan indirmek için bir "Google Drive" düğümüne bağlayın.

Şu yapılandırmayı kullanın:

Magic: The Gathering adlı koleksiyon kart oyununun kurallarını içeren herkese açık mtgrules.txt dosyasını kullandım. Siz de hakkında soru sormak istediğiniz herhangi bir dosyayı kullanabilirsiniz; iş akışı aynıdır.
Pinecone'u yapılandırmak için Pinecone hesabınıza giriş yapın, API anahtarını kopyalayın ve "Dizin oluştur" düğmesine tıklayarak bir dizin oluşturun. Ben dizinime rules adını verdim ve text-embedding-3-small modelini seçtim.

n8n'e geri dönerek, Google Drive düğümünün çıktısını "Vektör deposuna belgeler ekle" eylemi için bir Pinecone Vector Store düğümüne bağlayın:
Düğümü yapılandırmak için, API anahtarını yapıştırarak bir kimlik bilgisi oluşturmalı ve az önce oluşturduğumuz Pinecone Dizinini seçmeliyiz. Pinecone Vector Store düğümünün altında, yapılandırmamız gereken iki şey görürüz: bir gömme (embedding) modeli ve bir veri yükleyici.

Gömme için, text-embedding-3-small modeliyle bir OpenAI Embedding düğümü oluşturun:

Veri yükleyici için, ikili veri türüyle bir Varsayılan Veri Yükleyici düğümü oluşturuyoruz:

Son olarak, veri yükleyici bir Metin Bölücü düğümü gerektirir; bu, dosyadaki verilerin vektör deposu oluşturulurken nasıl bölüneceğini belirtir. Çoğu uygulama için önerilen düğüm olan Yinelemeli Karakter Metin Bölücü düğümünü kullanıyoruz.

Parça boyutunu 1.000 ve parça örtüşmesini 200 olacak şekilde yapılandırıyoruz:

Parça boyutu ve örtüşmesini seçerken, uzun dokümanlar için daha büyük bir parça boyutu kullanarak yeterli içeriği yakalamayı ve segmentler arası bağlamı koruyup gereksizliği azaltmak için daha küçük bir örtüşme kullanmayı düşünün.
Son iş akışının görünümü şöyledir:

"İş akışını test et"e tıklayarak çalıştırabiliriz; tamamlandığında verilerin yüklendiğini Pinecone üzerinde doğrulayabiliriz.
Bir RAG ajanı oluşturma
RAG ajanı için son şema şöyledir:

Bir alıştırma olarak, devam etmeden önce bunu anlamaya çalışmanızı ve hatta yerelde kendiniz yeniden oluşturmanızı öneririm.
"Sohbet mesajında" tetikleyici düğümüyle başlıyoruz. Bu, bir sohbet iş akışı oluşturmak için kullanılır.

Sonra, sohbet tetikleyicisini varsayılan seçeneklerle bir "Yapay Zeka Ajanı" düğümüne bağlarız.

Yapay Zeka Ajanı'nın altında üç şeyi yapılandırabileceğimizi görürüz:
- Ajanın kullandığı yapay zeka modeli.
- Bellek, ajanın sohbet bağlamını nasıl hatırladığını tanımlar.
- Ajanın erişebileceği araçlar. Bu durumda, ajanın dokümanımız hakkında soruları yanıtlayabilmesi için Pinecone veritabanını bir araç olarak sağlayacağız.
Yapay zeka modeli için, "OpenAI Sohbet Modeli" düğümünü seçip önceki gibi GPT-4.1 kullanırız. GPT-5 ailesi OpenAI'in güncel model ailesidir; ancak 4.1, 1M belirteçlik bağlam penceresine sahiptir ve RAG için uygundur.

Bellek için, 5 uzunluğunda bir bağlam penceresi olan "Basit Bellek" düğümünü kullanırız. Bu, ajanın yanıt verirken önceki beş etkileşimi hatırlayacağı ve dikkate alacağı anlamına gelir.
Son olarak, araçta, aşağıdaki yapılandırmayla bir "Pinecone Vector Store" düğümü ekleriz:

Açıklama alanında, aracın ne zaman kullanılacağını belirtmek önemlidir. Ajan, aracı çağırıp çağırmayacağına buna bakarak karar verir.
Vektör deposu tarafından kullanılan gömmeyi yapılandırmamız, yapmamız gereken son şeydir. Daha önce olduğu gibi, text-embedding-3-small modeliyle bir OpenAI Embedding düğümü kullanırız:

İş akışı tamamlandı ve ajanla sohbet edebiliriz. İşte bir örnek:

Sağda, ajanın sorumuza yanıt vermek için attığı adımları görebiliriz. Özellikle, ilgili kural bilgilerini getirmek için Pinecone veritabanına erişti.
n8n Şablonları
n8n, iş akışı oluşturma sürecimizi önemli ölçüde hızlandırabilecek kullanışlı bir özellik sunuyor: n8n şablon kitaplığı.
Bu kitaplık, topluluk ve n8n uzmanları tarafından hazırlanmış önceden oluşturulmuş iş akışlarının bir koleksiyonudur. İster basit görevleri ister daha karmaşık süreçleri otomatikleştirmeye çalışalım, ihtiyaçlarımıza uygun bir iş akışının daha önce birileri tarafından oluşturulmuş olma ihtimali yüksektir.
Bir iş akışını n8n kurulumumuza içe aktarmak, her zaman sıfırdan başlamamız gerekmediği anlamına gelir. Bunun yerine, diğer kullanıcıların geliştirdiği yaratıcı çözümlerden yararlanabiliriz. Bir iş akışını içe aktardıktan sonra yapmamız gereken tek şey, kimlik bilgilerimizle yapılandırmak ve tam gereksinimlerimize uyacak şekilde ince ayar yapmaktır.
E-posta işlemden sosyal medya yönetimine kadar otomatikleştirmek istediğimiz her görev için, kitaplıkta bir şablon bulunma olasılığı yüksektir.
Sonuç
n8n, binlerce hizmet ve aracı bağlayarak yapay zeka ajanları oluşturmamıza olanak tanıyan geniş bir entegrasyon ekosistemi sunar. Bu eğitimde n8n'in yapabileceklerinin sadece yüzeyine değindik. Günlük görevleri otomatikleştirmek için n8n ile yapay zeka ajanları oluşturmayı keşfederek, potansiyelinin yalnızca başlangıcına adım attık.

