n8n ile Gelen Gmail E-postalarını Otomatik Etiketleme Nasıl Yapılır?

n8n ile gelen gmail e postalarını otomatik etiketleme nasıl yapılır

Gelen kutunuzun düzenini korumak, önemli mesajları kaçırmamak ve tekrarlayan e-posta işlemlerini otomatikleştirmek istiyorsanız n8n ile gelen Gmail e-postalarını otomatik etiketleme uygulamak çok pratik bir çözüm sağlar. Bu rehber, n8n kullanarak Gmail’den gelen mailleri koşullara göre nasıl etiketleyeceğinizi adım adım anlatır; temel sorun, nedenleri, uygulanabilir çözümler, örnek senaryo, kontrol listesi ve karar ölçütlerini içerir.

Asıl problem ne?

Kullanıcıların sık karşılaştığı tek ana problem: Gelen Gmail e-postularının farklı kurallar veya bağlama göre doğru şekilde sınıflandırılamaması ve manuel etiketleme/ayırma işleminin zaman alıcı olması. Özetle, “Gmail’e gelen farklı türdeki mailleri otomatik, güvenilir ve yönetilebilir şekilde nasıl etiketleyebilirim?” sorusu rehberin merkezindedir.

Neden oluyor?

  • Gmail iç filtreleri basit ihtiyaçlar için yeterli olsa da, daha karmaşık koşullar (çok aşamalı mantık, harici veri kontrolleri, dinamik etiket atama) gerektiğinde sınırlamalar ortaya çıkar.
  • Farklı gönderenler, konu kalıpları, içerik anahtar kelimeleri veya ek türlerine göre ayrıştırma gerektiğinde manuel müdahale artar.
  • Birden fazla hesap veya ortak çalışma ortamında herkesin aynı etiketleme mantığını tutarlı uygulaması zorlaşır.
  • Kurum içi süreçler (ör. faturaların muhasebeye yönlendirilmesi) gibi e-posta tabanlı iş akışları otomasyon gerektirir.

Nasıl çözülür?

  1. n8n üzerinde Gmail tetikleyicisini kullanarak gelen e-postuları dinleyin.
  2. Gelen e-postuyu inceleyin (başlık, gönderen, gövde, ekler).
  3. Koşullara göre bir Switch/If node ile yönlendirme yapın.
  4. Doğru Gmail etiketini eklemek için Gmail API’si üzerinden mesajı güncelleyin (label ekle/çıkar).
  5. Gerekirse ek adımlarla (harici veri sorgusu, Slack bildirimi, veritabanı kaydı) süreci genişletin.

Aşağıda bu adımlar detaylı ve uygulanabilir biçimde açıklanmıştır.

Önkoşullar

  • n8n kurulu bir sunucu veya n8n.cloud hesabı.
  • Gmail hesabı ve Google API yetkilendirmesi için OAuth2 izinleri (Gmail API scopes: mail okuma ve yönetme).
  • n8n içinde Google / Gmail credentials oluşturma bilgisine erişim.
  • Gmail etiketlerinin yönetim yetkisi (etiketleri oluşturmak/eklemek için Gmail hesabında izinler).

Adım 1 — n8n ve Gmail yetkilendirmesini oluşturma

  1. n8n’e giriş yapın.
  2. Credential (Kimlik bilgisi) oluşturun:
  • Tür: Google OAuth2 (veya Gmail node için sağlanan Google credentials).
  • Gerekli scope’lar: Gmail API için okuma ve değiştirme izinleri (ör. https://www.googleapis.com/auth/gmail.modify).
  1. OAuth onay ekranını ayarlayın (ilk kullanımda Google Cloud Console’da uygulama oluşturmanız gerekebilir). Bu adımda gizlilik/erişim izinlerine dikkat edin.
  2. n8n içindeki credential’ı test ederek bağlantının çalıştığını doğrulayın.

Not: OAuth kurulumunda karşılaşılan en yaygın sorun, izinlerin eksik seçilmesi veya redirect URI’nin yanlış yapılandırılmasıdır. Bu tür hatalarda Google Console ayarlarını kontrol edin.

Bu konuyla ilgili tamamlayici bilgi icin Google Forms Verilerini Google Sheets’e Otomatik Aktarma Rehberi rehberini de inceleyebilirsiniz.

Adım 2 — Trigger: Gelen e-posta yakalama

  • n8n içinde bir workflow açın.
  • “Gmail Trigger” veya “Gmail” node’unun tetikleyici (watch) özelliğini kullanın.
  • Ayarlar: Gelen tüm e-postaları dinleyebilir veya sadece belirli klasör/etiket/arama kriterine göre dinleyebilirsiniz.
  • Workflow’u test edebilmek için gerçek bir e-posta gönderip tetiklediğinizde node’un çıktı yapısını “Execute Node” ile inceleyin.

Uyarı: Bazı n8n kurulumlarında Gmail Trigger, push mekanizması yerine periyodik polling ile çalışabilir. Gerçek zaman gereksiniminiz varsa node ayarlarını ve planlanan polling sıklığını göz önünde bulundurun.

Adım 3 — Koşullandırma: Switch/If ile mantık kurma

  • Gelen e-posta verisini inceledikten sonra hangi alanlara bakacağınızı belirleyin: From, To, Subject, Body, Attachments.
  • n8n’de “IF” veya “Switch” node kullanın:
  • Örnek koşullar:
  • From contains “billing@example.com”
  • Subject matches regex “fatura|invoice|receipt”
  • Girilen gövdede “satın alma”, “ödeme” gibi anahtar kelimeler
  • Attachment type contains “pdf”
  • Karmaşık kurallar gerektiğinde birden fazla IF node’u seri veya paralel kullanılabilir.

İpucu: Her koşulun tam olarak doğru çalıştığını kontrol etmek için node’un çıktısından gelen alan yollarını (JSON path) Inspect edin. Örneğin gönderen için $json[“payload”][“headers”] içindeki “From” başlığını bulmanız gerekebilir.

Adım 4 — Etiketi ekleme: Gmail API ile mesajı güncelleme

İki ana yol: A) n8n’nin yerleşik Gmail node’u eğer “Modify Labels” gibi bir operation sağlıyorsa onu kullanın. B) Genel yöntem olarak “HTTP Request” node’u ile Gmail API’nin users.messages.modify endpoint’ine çağrı yapın.

HTTP Request örnek yapı:

Bu konuyla ilgili tamamlayici bilgi icin Dijital Asistan Kullanımıyla Haftada 5–10 Saat Nasıl Kazanılır? rehberini de inceleyebilirsiniz.

  • URL: POST https://gmail.googleapis.com/gmail/v1/users/me/messages/{{ $json[“id”] }}/modify
  • Body (JSON):

{ “addLabelIds”: [“LABEL_ID_HERE”], “removeLabelIds”: [] }

  • Authorization: OAuth2 credential (n8n içindeki Google OAuth2 credential’ınızı seçin).

Label ID nasıl alınır:

  • Gmail UI’de oluşturduğunuz etiketlerin ID’si genelde aynı isimde olur, ama API ile güvenli yol “List Labels” çağrısı yapıp labelId’yi almak:

GET https://gmail.googleapis.com/gmail/v1/users/me/labels

  • n8n içinde bu çağrıyı bir kez yapıp sonucu kaydedin; sonra workflow’ta labelId’leri kullanın.

Önemli: Gmail API çağrılarında mesaj ID doğru alındıktan sonra modify endpoint ile etiket ekleme/çıkarma yapılır. Hatalarda “Insufficient Permission” veya “Invalid ID” gibi hatalar sık görülür; credential scope ve id doğruluğunu kontrol edin.

Bu konuyla ilgili tamamlayici bilgi icin Make ile Otomasyon rehberini de inceleyebilirsiniz.

Örnek node zinciri

  • Gmail Trigger (Yeni mail)
  • IF (From contains billing@vendor.com OR Subject contains invoice)
  • HTTP Request (POST modify -> addLabelIds: [“INVOICES_LABEL_ID”])
  • (Opsiyonel) Slack/Teams bildirim node’u
n8n ile gelen gmail e postalarını otomatik etiketleme nasıl yapılır

Hangi durumda hangi yol seçilir?

  • Basit anahtar-kelime veya gönderene göre etiketleme:
  • Tercih: Gmail iç filtreleri veya n8n simple IF + modify.
  • Neden: Hızlı ve az konfigürasyon gerektirir.
  • Çok aşamalı doğrulama (ör. e-posta içeriğini veritabanı ile karşılaştırıp karar verme):
  • Tercih: n8n – IF/Switch + Database sorgusu + Modify.
  • Neden: Harici verinin dahil edilmesi gerektiğinde n8n esneklik sunar.
  • Etiketleme + downstream işlem (fatura alındığında finans sistemine kayıt, Slack bildirimi vs.):
  • Tercih: n8n workflow ile entegre tüm adımlar.
  • Neden: Tek bir otomasyon içinde tüm işlemleri zincirlemek mümkün.
  • Çok yüksek güvenlik/özelleştirilmiş erişim gerektiren durumlarda:
  • Tercih: Sunucu tarafında özel uygulama veya Google Workspace yöneticisi onaylı uygulama.
  • Neden: OAuth onayı ve paylaşım politikaları bazı kurumsal gereksinimleri etkileyebilir.

Karar ağacı (metinsel) — Hangi kuralla devam etmeliyim?

  1. E-postalar sadece birkaç sabit gönderen tarafından geliyorsa => Gmail iç filtreleri yeterli mi?
  • Evet: Gmail filtreleriyle etiketle.
  • Hayır: n8n ile otomasyon kur.
  1. E-postaların içeriğine göre ayrıştırma gerekiyorsa => metin/ek/konu analizi gerekli mi?
  • Evet: n8n ile body/attachment kontrolü ve label ekle.
  • Hayır: yalnızca başlık/gönderenle devam et.
  1. Ek iş akışları (bildirim, veri kaydı) var mı?
  • Evet: n8n workflow’a ilgili node’ları ekle.
  • Hayır: sadece modify çağrısı yeterli.

Kontrol listesi — Yayına almadan önce

  • [ ] n8n credential’ı Google OAuth2 ile doğru tanımlandı mı?
  • [ ] Gerekli Gmail API scope’ları ayarlandı mı? (özellikle gmail.modify)
  • [ ] Etiketler Gmail içinde var mı veya oluşturuldu mu?
  • [ ] Workflow tetiklenip örnek maillerle test edildi mi?
  • [ ] Label ID’leri doğru şekilde alınıp kullanılıyor mu?
  • [ ] Hatalar için retry ve logging ayarları yapıldı mı?
  • [ ] Gerekiyorsa rate limit ve API quota gözden geçirildi mi?
  • [ ] Güvenlik: credential’lar güvenli bir yerde saklanıyor mu?

Örnek senaryo: Satın alma faturalarını otomatik etiketleme

Hedef: billing@vendor.com’den gelen veya konu/body’sinde “fatura” geçen ve ekinde PDF bulunan e-postalara “Faturalar” etiketi eklemek.

Adımlar:

  1. Gmail içinde “Faturalar” etiketi oluşturun (veya workflow içinde API ile oluşturun).
  2. n8n’de workflow oluşturun:
  • Gmail Trigger: Yeni mail geldiğinde tetikle.
  • IF node:
  • Koşul A: From contains “billing@vendor.com”
  • Veya Koşul B: Subject/body contains “fatura” OR “invoice”
  • IF2 node (ek olmak zorunda):
  • Koşul: attachmentTypes includes “application/pdf”
  • HTTP Request node (veya Gmail node modify):
  • POST users/me/messages/{messageId}/modify
  • Body: {“addLabelIds”:[“FATURALAR_LABEL_ID”]}
  1. Test et:
  • Gerçek bir fatura maili gönderip workflow’u çalıştırın.
  • Gmail’de etiketin doğru e-postaya eklendiğini doğrulayın.

Sonuç: E-postalar otomatik etiketlenir ve dilediğiniz başka aksiyonlar tetiklenebilir (ör. Slack bildirimi, veritabanına kayıt).

Sık karşılaşılan problemler ve çözümleri

  • OAuth izin hatası:
  • Çözüm: Google Cloud Console’da redirect URI ve scope’ları kontrol edin, n8n credential’ı yeniden yetkilendirin.
  • Yanlış JSON path kullanımı:
  • Çözüm: Trigger node’u çalıştırıp örnek çıktıyı inceleyin; doğru alan yolunu kullanın.
  • Label ID bulunamıyor:
  • Çözüm: Gmail API ile labels listesini çekin ve doğru ID’yi kullanın.
  • Etiket çok fazla çoğalıyor (aynı isimde birden fazla etiket):
  • Çözüm: Etiketleri merkezi olarak oluşturun ve workflow’ta labelId kullanın; isim bazlı oluşturma yerine ID’yi tercih edin.
  • Performans sorunları / quota:
  • Çözüm: Polling sıklığını düşürün, batch işlemler uygulayın, quota limitlerini kontrol edin.

Öneriler ve iyi uygulamalar

  • Label ID kullanın: İsimlere göre hata olasılığı yüksek olabilir; API ID’leri daha güvenilirdir.
  • Test ortamı kurun: Gerçek gelen kutusunu karıştırmamak için test Gmail hesabı kullanın.
  • Log ve hata bildirimi ekleyin: Workflow’ta hata durumunda sizi bilgilendirecek bir adım (Slack veya e-posta) koyun.
  • Minimal izin ilkesi uygulayın: Sadece gerekli scope’ları verin.
  • İzleme ve bakım planı yapın: API değişiklikleri, OAuth token yenileme ve etiket temizliği için periyodik gözden geçirme planı oluşturun.
  • Versioning: Workflow’ların değişikliklerini belgeleyin; büyük değişikliklerde eski kopyayı saklayın.

Sonuç

n8n ile gelen Gmail e-postalarını otomatik etiketleme, gelen kutusunu düzenleme, iş süreçlerini hızlandırma ve insan hatasını azaltma açısından güçlü bir yöntemdir. Ana problem, e-postaların dinamik ve tutarlı şekilde sınıflandırılamamasıysa; n8n’in tetikleme, koşullandırma ve API çağrısı yapabilme yetenekleri ile bu sorun doğrudan çözülür. Uygulamada dikkat edilmesi gerekenler: doğru OAuth izinleri, label ID kullanımı, koşulların net tanımlanması ve hata/izleme mekanizmalarının kurulmasıdır.

Bu konuyla ilgili tamamlayici bilgi icin WhatsApp Otomasyonu Nasıl Kurulur? rehberini de inceleyebilirsiniz.

Aşağıdaki kontrol listesini uygulamaya geçirerek adım adım ilerleyin ve örnek senaryoyu kendi iş akışınıza göre uyarlayın. Eğer isterseniz, mevcut Gmail kullanımınıza yönelik örnek koşullarınızı paylaşın; size özel bir n8n workflow taslağı önerisi hazırlayayım.

Bu konuyla ilgili tamamlayici bilgi icin n8n Nedir? Tekrarlayan İşleri Otomatikleştiren Açık Kaynak İş Akışı Platformu Rehberi (2026) rehberini de inceleyebilirsiniz.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top