← Back to list

n8n ile Günlük İşlerinizi Otomatize Hale Getirmek

Merhaba, Bu yazıda lokal çalıştığınız makineniz de dahil olmak üzere, günlük yaptığınız görevlerinizi nasıl otomatize edebilirsiniz küçük…

Onur Mert Nemiş in Turk Telekom Bulut Teknolojileri · 2026-06-08 07:18 · 6 claps · 4.9 min read
#workflow-automation #ai #ai-agent #n8n #n8n-workflow-automation
Open on Medium ↗
Wiki topics: AGT · AI Agents AI · AI · General

n8n ile Günlük İşlerinizi Otomatize Hale Getirmek

Merhaba, Bu yazıda lokal çalıştığınız makineniz de dahil olmak üzere, günlük yaptığınız görevlerinizi nasıl otomatize edebilirsiniz küçük bir proje ile örneklendirerek anlatmaya çalışacağım.

n8n.io

n8n.io

n8n’i daha iyi kavramak için onu dijital bir orkestra şefine ya da son derece organize bir lojistik merkezine benzetebiliriz. Günlük işlerinizi yaparken verileri bir sekmeden/klasörden alıp diğerine yapıştırır, e-postaları kontrol eder ve dosyaları manuel olarak taşırsınız. Yani her masaya kendiniz koşarsınız.

n8n ise arka planda çalışan, görünmez bant sistemleri kurmanızı sağlar. Her bir istasyon görevini yapar ve paketi bir sonraki istasyona devreder.

n8n gerçekten de bir konveyör sistemi gibi istasyonlar arası iş aktarımı ve taşımalarını sağlar.

n8n gerçekten de bir konveyör sistemi gibi istasyonlar arası iş aktarımı ve taşımalarını sağlar.

Peki nereden geliyor bu n8n ismi ? Teknik dünyada insanlar olarak uzun kelimeleri kısaltmayı çok severiz. Kelimenin aslı “Nodemation” (Node + Automation). Başındaki “n” ve sonundaki “n” harflerinin arasında tam 8 harf (o-d-e-m-a-t-i-o-n) olduğu için ismine kısaca n8n demişler. Tıpkı Kubernetes’e “k8s” denmesi gibi!

Bu sistemin temel mantığını kavramak için bilmeniz gereken 3 temel kavram var:

  • Node (Düğüm): İş akışındaki her bir işçidir. Biri e-postayı okur, diğeri veriyi filtreler, bir diğeri ise JavaScript kodu çalıştırır. Her node tek bir spesifik iş yapar.
  • Trigger (Tetikleyici): Sistemi başlatan kıvılcımdır. “Her sabah saat 09:00'da”, “Yeni bir e-posta geldiğinde” veya “Bir web sitesine tıklatıldığında” gibi emirlerle akışı uyandırır.
  • Veri Yapısı (JSON): Düğümlerin birbiriyle konuşma dilidir. Gözünüzü korkutmasın; JSON dediğimiz şey, sadece etiketlenmiş bir paket listesidir

Otomasyonlarınızı ihtiyaçlara göre özelleştirebileceğiniz ve kullanabileceğiniz oldukça fazla alan var, SecOps’tan Log Streaming’e, DevOps’tan Sales dashboard’larına kadar, n8n size geniş skalada kullanım seçeneği sunuyor.

Şimdi ise bu 3 temel yapıyı kullanarak lokal makinemizde bir otomasyon pipeline’ı tasarlayabiliriz. İşe user story tasarlayarak başlayalım

*Story :* Bilgisayarımdaki indirilenler klasörü bir süre sonra karma karışık bir hale dönüyor, indirilen dosyaları klasörleyecek bir otomasyona ihtiyacım var.

Çözüm (n8n):

  • n8n lokal dosya sistemini izler (Local File Trigger).
  • Yeni bir dosya geldiğinde uzantısına bakar; .pdf ise "Kitaplar" klasörüne, .exe veya .dmg ise "Kurulumlar" klasörüne, .zip ise "Arşiv" klasörüne, .png ise “Images” klasörüne otomatik taşır ve isminin başına o günün tarihini ekler.

İşe n8n’i lokalde çalıştırabilmek için terminalinizde; npm install -g n8n ya da (global kurulum için) npx n8n komutunu çalıştırın. Kurulum tamamlandığında http://localhost:5678 adresine kullandığınız browser üzerinden ya da terminalden “o” n8n arayüzüne ulaşabilirsiniz.

İlk etapta sizden bir kullanıcı oluşturmanızı isteyecek. Bu adımı tamamlandığınızda “+ Create a new workflow” butonuna tıklayarak yeni bir akış diyagramı sayfasına yönlendirilmiş olacaksınız.

Önünüzde boş bir grid sayfa var ve ”Add a Node” ile ilk node’unuzu ekleyerek otomasyon dünyasına ilk adımınızı atabilirsiniz !

Biz ise işi biraz kolaylaştırıp, tek bir json dosyasında bu sistemin bir şablonunu ana ekranda ctrl + v ile tek adımda tamamlamış olacağız . (Evet, yalnızca copy + paste yaparak :) )

Altta kullanacağımız şablonu oluşturdum, dosya yolunuzu değiştirerek ana sayfada yalnızca ctrl + v ile indirilenler otomasyonunuzu tamamlamış olacaksınız .

{
  "name": " İndirilenler Otomasyonu ",
  "nodes": [
    {
      "parameters": {},
      "id": "manual_trigger",
      "name": "When clicking 'Test workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [0, 0]
    },
    {
      "parameters": {
        "command": "if not exist \" Dosya Yolunuz \" mkdir \" Dosya Yolunuz \" & if not exist \" Dosya Yolunuz “ mkdir \"Dosya Yolunuz\""
      },
      "id": "create_folders",
      "name": "Klasörleri Yarat",
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [220, 0]
    },
    {
      "parameters": {
        "jsCode": "return [\n  { json: { filename: \"rapor.pdf\", ext: \"pdf\", path: \"Dosya yolunuz \ rapor.pdf\" } },\n  { json: { filename: \"tatil_foto.jpg\", ext: \"jpg\", path: \" yolunuz \ tatil_foto.jpg\" } }\n];"
      },
      "id": "mock_data",
      "name": "Veri Üret",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [440, 0]
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": false
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.ext }}",
                    "rightValue": "pdf",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "or"
              },
              "renameOutput": true,
              "outputLabel": "Docs"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.ext }}",
                    "rightValue": "jpg",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "or"
              },
              "renameOutput": true,
              "outputLabel": "Images"
            }
          ]
        },
        "fallbackOutput": "other"
      },
      "id": "switch_node",
      "name": "Uzantı Kontrolü",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3,
      "position": [660, 0]
    },
    {
      "parameters": {
        "command": "type nul > \"{{ $json.path }}\" & move /y \"{{ $json.path }}\" \"Dosya yolunuz{{ $json.filename }}\""
      },
      "id": "create_and_move_docs",
      "name": "Docs Yarat ve Taşı",
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [940, -100]
    },
    {
      "parameters": {
        "command": "type nul > \"{{ $json.path }}\" & move /y \"{{ $json.path }}\" \"Dosya yolunuz{{ $json.filename }}\""
      },
      "id": "create_and_move_images",
      "name": "Images Yarat ve Taşı",
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [940, 100]
    }
  ],
  "connections": {
    "When clicking 'Test workflow'": {
      "main": [
        [
          {
            "node": "Klasörleri Yarat",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Klasörleri Yarat": {
      "main": [
        [
          {
            "node": "Veri Üret",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Veri Üret": {
      "main": [
        [
          {
            "node": "Uzantı Kontrolü",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Uzantı Kontrolü": {
      "main": [
        [
          {
            "node": "Docs Yarat ve Taşı",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Images Yarat ve Taşı",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Json dosyasını ana ekranda yapıştırdıktan sonra Execute workflow ile otomasyonu test ettiğimizde elde ettiğimiz sonuç tam olarak aşağıdaki gibi, uçtan uca başarılı bir otomasyon süreci !

Test edilmiş son haliyle otomasyonumuz arayüzde böyle görünüyor

Test edilmiş son haliyle otomasyonumuz arayüzde böyle görünüyor

Sürecin bu kadar olması dışında dikkat edilecek birkaç husustan da bahsetmem gerek. İlgili dizinde bir klasör olmaması durumu için (windows’ta kendi klasör de yaratmadığından mkdir ile klasör yaratan bir node ekledim.) ve örnek veri üretebilmek adına 2 adet fazladan node ekledim. Bir diğer konu da, bu otomasyon “manual trigger” ile çalışıyor. fakat Scheduler Trigger ekleyip otomasyonunuzu periyodik hale getirebilirsiniz. Yapmanız gereken aynı json dosyasının başına ScheduleTrigger json’u eklemek. Sizler için aşağıya 30 dakikalık aralıklarda tetiklenen bir örnek bıraktım. Bunu arayüzden eklemek de oldukça kolay.

  "nodes": [
{
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 30
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        0
      ],
      "id": "schedule_trigger_node"
    },

İsterseniz manuel node’u kaldırıp, sağdaki menüde “+” ikonuna tıklayarak aşağıdaki gibi scheduler bir trigger ekleyebilirsiniz.

Not: n8n arayüzünde yine de bir düğümün üzerinde soluk bir çizgi görürseniz panik yapmayın; o düğüm sadece o an ekranda seçili olan dosya (örneğin sadece PDF) o yoldan gitmediği için öyle görünür. Klasörleriniz dolduysa görev başarıyla tamamlanmıştır!)

Böylece ilk n8n otomasyon projemizi tamamlamış bulunuyoruz.


메타데이터
post_id
b3ee39812e18
slug
8n-ile-günlük-i̇şlerinizi-otomatize-hale-getirmek-b3ee39812e18
url
https://medium.com/t%C3%BCrk-telekom-bulut-teknolojileri/8n-ile-g%C3%BCnl%C3%BCk-i%CC%87%C5%9Flerinizi-otomatize-hale-getirmek-b3ee39812e18
canonical_url
https://medium.com/t%C3%BCrk-telekom-bulut-teknolojileri/8n-ile-g%C3%BCnl%C3%BCk-i%CC%87%C5%9Flerinizi-otomatize-hale-getirmek-b3ee39812e18
author_url
https://medium.com/@o.mertnemis
status
ok
fetched_at
2026-06-15 20:49:13