Kaynak kodu erişilebilir iş akışı otomasyon platformu n8n, yüzlerce farklı servis ve veritabanı arasında kod yazmadan veya düşük kod (low-code) ile güçlü entegrasyonlar kurmanıza imkan tanır. E-ticaret siparişlerinin CRM sistemine aktarılması, günlük analitik raporlarının Slack veya e-posta ile iletilmesi, sosyal medya içeriklerinin otomatik planlanması ve API veri çekme operasyonları gibi pek çok senaryo periyodik olarak yürütülmelidir. İş akışlarını belirli takvim kurallarına bağlama mantığı hakkında temel bilgileri zamanlanmış görev nedir rehberimizde bulabilirsiniz.
n8n ekosisteminde periyodik otomasyonların merkezinde Schedule Trigger (eski adıyla Cron düğümü) yer alır. Bu tetikleyici düğüm, iş akışınızın başlangıç noktası olarak konumlanır ve belirlediğiniz zaman aralığı geldiğinde süreci otomatik olarak başlatır. Ancak n8n'in çalışma mantığında iş akışının yayımlanma durumu (Publish/Unpublish; eski sürümlerde Active/Inactive), sunucu ve iş akışı saat dilimi ayarları (Timezone), Docker ortam değişkenleri ve kaynak tüketimi gibi kritik faktörler görevlerin zamanında ve doğru çalışmasını doğrudan etkiler.
Bu rehberde, n8n üzerinde Schedule Trigger düğümünün nasıl yapılandırıldığını, hazır zamanlama kurallarını, Custom Cron sözdizimini, saat dilimi yönetimi inceliklerini ve iş akışı yayınlama adımlarını ayrıntılarıyla inceleyeceğiz. Ayrıca çalışmayan görevlerin günlük analizini yapacak ve n8n sunucunuzu ağır iç zamanlayıcı yükünden kurtararak dışarıdan güvenli Webhook ile tetikleme yöntemini adım adım kuracağız.
n8n Schedule Trigger Çalışma Prensibi ve Seçimi
n8n iş akışları iki şekilde başlatılabilir: bir dış olay (Webhook, form gönderimi, veritabanı değişikliği) ya da zamana bağlı bir tetikleyici. Schedule Trigger düğümü, n8n'in dahili zamanlayıcı motorunu kullanarak iş akışına periyodik bir başlangıç sinyali üretir.
Schedule Trigger düğümünü iş akışınıza dahil etmek için şu adımları takip edin:
- n8n tuvalinde (Canvas) sağ üstteki Add first step veya + butonuna tıklayın.
- Arama kutusuna
Scheduleyazın ve temel çekirdek düğümler (Core Nodes) altında yer alan Schedule Trigger seçeneğini belirleyin. - Düğüm eklendiğinde karşınıza tetikleme aralığını belirleyeceğiniz parametre penceresi gelecektir.
Schedule Trigger düğümü çalıştığında sonraki düğümlere tetiklenme anına ait zaman damgasını içeren bir JSON nesnesi iletir:
[
{
"timestamp": "2026-10-15T09:00:00.124Z",
"Readable date": "October 15th 2026, 9:00:00 am",
"Readable time": "9:00:00 am"
}
]
Bu zaman damgası bilgisi, iş akışınızın devamında yer alan HTTP Request, PostgreSQL veya Google Sheets düğümlerinde dinamik tarih filtrelemeleri yapmak için doğrudan kullanılabilir.
Dakikalık, Saatlik ve Günlük Tetikleme Kuralları
n8n Schedule Trigger arayüzü, karmaşık cron ifadeleri yazmak zorunda kalmadan yaygın kullanılan periyotları seçebileceğiniz hazır tetikleme kuralları (Trigger Rules) sunar. Trigger Interval açılır menüsünden ihtiyacınıza uygun periyodu seçebilirsiniz:
- Minutes (Dakika), aralık 1: Akışı her 60 saniyede bir çalıştırır. Sık değişen kuyrukları kontrol etmek için kullanılır.
- Hours (Saat), aralık 1: Her saat başında tetiklenir. Dakika alanını (örneğin 15. dakika) belirleyerek saatin belirli bir anında çalışmasını sağlayabilirsiniz.
- Days (Gün), aralık 1: Günde bir kez çalışır. Saat ve dakika alanlarını (örneğin
03:00) belirterek gece saatlerinde raporlama veya yedekleme yapabilirsiniz. - Weeks (Hafta), aralık 1: Haftanın belirli bir gününde (örneğin Pazartesi) ve saatinde haftalık mutabakatlar için tetiklenir.
- Months (Ay), aralık 1: Ayın belirli bir gününde (örneğin ayın 1'inde) aylık faturalandırma ve arşivleme için devreye girer.
00:00 veya 09:00) başlatmak, sunucu CPU ve RAM kullanımında anlık sıçramalara (spike) yol açabilir. Farklı akışların dakikalarını kaydırarak (örneğin 09:05, 09:12) sunucu yükünü zamana yaymanız önerilir.
Custom Cron Alanları ve İleri Düzey Sözdizimi
Hazır aralıklar karmaşık takvim gereksinimlerini karşılamadığında (örneğin yalnızca hafta içi her 15 dakikada bir çalıştırma), Trigger Interval seçeneğini Custom (Cron) olarak ayarlayabilirsiniz.
n8n Schedule Trigger, standart 5 alanlı cron sözdizimini eksiksiz destekler. Alan sıralaması soldan sağa şu şekildedir: dakika saat ayın_günü ay haftanın_günü. Cron karakterlerinin ayrıntılı matematiksel kurallarını öğrenmek için crontab sözdizimi referans tablosuna bakabilirsiniz.
| Kullanım Amacı | n8n Custom Cron İfadesi | Çalışma Zamanı |
|---|---|---|
| Hafta içi mesai saatleri | */15 9-18 * * 1-5 |
Pazartesi-Cuma, 09:00 - 18:45 arası her 15 dakikada bir |
| Günde iki kez senkronizasyon | 0 8,17 * * * |
Her gün sabah 08:00 ve akşam 17:00'de |
| Hafta sonu nöbetçi görev | 0 10 * * 6,0 |
Yalnızca Cumartesi ve Pazar sabah 10:00'da |
| Ayın 1. ve 15. günü | 0 0 1,15 * * |
Her ayın 1. ve 15. günü gece yarısı |
Workflow ve Sistem Saat Dilimi (Timezone) Yönetimi
n8n kullanıcılarının en sık yaşadığı sorunlardan biri, görevin Türkiye saatiyle sabah 09:00'da çalışması gerekirken öğlen 12:00'de veya sabah 06:00'da tetiklenmesidir. Bu durum saat dilimi (timezone) uyuşmazlığından kaynaklanır.
n8n'de saat dilimi iki farklı düzeyde yönetilir:
- Sistem / Docker Düzeyi: Self-hosted n8n kurulumlarında zamanlayıcının varsayılan saat dilimi America/New_York'tur; konteynerin sistem saatiyle aynı olmak zorunda değildir. Konteyner ortam değişkenlerine
GENERIC_TIMEZONE=Europe/IstanbulveTZ=Europe/Istanbulparametrelerini ekleyerek tüm n8n örneğinin Türkiye saatini kullanmasını sağlayabilirsiniz:
Konteyner içi zamanlama süreçlerini derinleştirmek için Docker cron job kılavuzumuzu inceleyebilirsiniz.# docker-compose.yml environment: - GENERIC_TIMEZONE=Europe/Istanbul - TZ=Europe/Istanbul - İş Akışı (Workflow) Düzeyi: İş akışının üç noktalı menüsünden Settings bölümünü açın. Burada yer alan Timezone seçeneğini varsayılan (Default) yerine açıkça
Europe/Istanbulolarak ayarlayın. Bu ayar, akış içindeki Schedule Trigger düğümünün doğrudan yerel saate göre çalışmasını garanti eder.
İş Akışını Kaydetme, Yayınlama ve Test Modu Farkı
n8n üzerinde yeni bir iş akışı oluştururken yapılan en yaygın hata, Schedule Trigger düğümünü ekleyip test ettikten sonra akışı aktif hale getirmeyi unutmaktır. n8n'de zamanlanmış görevlerin arka planda otomatik çalışabilmesi için akışın yayımlanmış olması zorunludur (eski sürümlerde Active).
Test modu ile canlı mod arasındaki temel farklar şunlardır:
- Test Modu (Manuel Çalıştırma): Tuvaldeki Execute workflow butonuna tıkladığınızda yalnızca bir defaya mahsus manuel tetikleme yapılır. Akış tuval üzerinde test edilirken zamanlayıcı arka planda beklemez ve periyot geldiğinde tetikleme gerçekleşmez.
- Canlı Mod (Yayımlanmış İş Akışı): Akışı kaydettikten sonra Publish ile yayımlamanız gerekir; eski sürümlerde Inactive anahtarı Active konumuna getirilir. Yayımlanan sürüm belirlenen takvim kurallarına göre periyodik olarak yürütülür.
Çalışmayan veya Geciken Zamanlamayı İnceleme
n8n otomasyonlarınız planlanan saatte çalışmıyorsa veya beklenmedik şekilde hata veriyorsa aşağıdaki dört yaygın arıza senaryosunu kontrol etmelisiniz:
1. İş Akışının Inactive Durumda Kalması
En sık rastlanan problem, iş akışının kaydedilmiş ancak aktif edilmemiş olmasıdır. İş akışının yayımlandığını doğrulayın; eski sürümlerde "Active" durumu kontrol edilir. Executions sekmesinde hiç yeni kayıt yoksa yayımlama durumunu ve başlatma hatalarını inceleyin.
2. Docker Konteynerinin Yeniden Başlaması ve Zaman Kayması
Self-hosted sunucunuz yeniden başladığında veya n8n Docker konteyneri bellek yetersizliği (OOM Kill) sebebiyle çöktüğünde, o sırada çalışması gereken zamanlanmış görevler atlanır. n8n varsayılan olarak kaçırılan görevleri geçmişe dönük telafi etmez. Konteyner günlüklerini docker logs -f n8n komutuyla inceleyerek çökme olup olmadığını denetleyin. Benzer sunucu hataları için cron job çalışmıyor rehberimizdeki sorun giderme adımlarını uygulayabilirsiniz.
3. Webhook Düğümünde Test URL Kullanımı
İş akışınızda Schedule yerine dış tetikleyici olarak Webhook düğümü kullanıyorsanız ve dışarıdan çağrı yapıyorsanız, n8n iki farklı URL sunar: Test URL ve Production URL. Test URL yalnızca n8n arayüzünde "Listen for test event" butonu açıkken çalışır. Dış servis bağlantılarında mutlaka https://n8n.siteniz.com/webhook/... biçimindeki Production URL kullanılmalıdır.
4. Uzun Süren Adımlar Nedeniyle Kuyruk Tıkanması
Her dakikada bir çalışan bir iş akışının içerisindeki bir HTTP isteği veya yapay zeka (LLM) düğümü 90 saniye sürüyorsa, bir sonraki görevin zamanı geldiğinde n8n süreci henüz tamamlanmamış olabilir. Bu durum n8n sunucusunda bellek şişmesine veya görevlerin gecikmeli çalışmasına yol açar. Çözüm olarak ağır işlerde concurrency limitlerini ayarlayın veya akışları parçalara ayırın.
Production Webhook Hazırlama ve Uç Nokta Güvenliği
n8n sunucunuzun kendi dahili zamanlayıcısını çalıştırması, sürekli arka planda bellek tüketimine ve sunucu kesintilerinde görevlerin kaçırılmasına zemin hazırlar. Modern mimarilerde en dayanıklı yaklaşım, n8n iş akışını bir Webhook Trigger düğümü ile başlatmak ve tetikleme sorumluluğunu harici bir zamanlama servisine devretmektir. Detaylı mimari karşılaştırmalar için cron webhook tetikleme rehberimize başvurabilirsiniz.
Güvenli bir n8n Webhook uç noktası hazırlamak için şu adımları izleyin:
- Tuvalinize Webhook düğümü ekleyin.
- HTTP Method:
POSTolarak belirleyin. - Path: Anlamlı ve benzersiz bir yol tanımlayın (örneğin
sync-daily-orders). - Authentication: Güvenlik için
Header Authseçeneğini işaretleyin. n8n Credentials alanında bir anahtar belirleyin:- Header Name:
X-Cron-Auth - Header Value:
guvenli-gizli-otomasyon-anahtari
- Header Name:
- Respond: İşlem çok uzun sürüyorsa
Immediatelyseçeneğini işaretleyerek HTTP 200 yanıtının hemen dönülmesini sağlayın; böylece HTTP yanıtını bekleme süresi kısalır; bu yanıt iş akışının tamamlandığını doğrulamaz. - İş akışını kaydedip Publish ile yayımlayın (eski sürümlerde Active) ve Production URL adresini kopyalayın.
cronjob.com.tr ile Harici Webhook Zamanlayıcı Kurulumu
n8n iş akışınızı harici bir HTTP zamanlayıcı üzerinden tetiklemek; zamanlayıcının n8n'den bağımsız çalışmasını, HTTP yanıt süresi takibini ve ardışık hata eşiğine bağlı kesinti bildirimlerini sağlar; n8n erişilemezken iş akışı yürütülemez.
Ücretsiz cron job servisi cronjob.com.tr yönetim panelinde n8n webhook'unuzu dakikalık veya saatlik olarak zamanlamak için aşağıdaki adımları uygulayın:
- Hedef URL: n8n Production Webhook URL adresinizi yapıştırın (örneğin
https://n8n.siteniz.com/webhook/sync-daily-orders). - HTTP Metodu:
POSTseçeneğini işaretleyin. - Özel Header: Yetkilendirme için
X-Cron-Auth: guvenli-gizli-otomasyon-anahtaribaşlığını ekleyin. Eğer HTTP Basic Auth yapılandırdıysanız paneldeki Basic Auth alanını doldurabilirsiniz. - Zamanlama ve Saat Dilimi: Hazır aralıklardan birini seçin (en az 1 dakika) veya 5 alanlı standart cron ifadesi tanımlayın. n8n sunucunuzun saat ayarlarıyla uğraşmadan, panelden doğrudan
Europe/Istanbulsaat dilimini seçerek görevin tam Türkiye saatinde tetiklenmesini sağlayın. - Yanıt Bekleme Süresi (Timeout): Cron ifadeli görevlerde sistem 290 saniyeye kadar yanıt bekler (1 dakikalık aralıklarda 55 saniye). n8n uç noktanız HTTP 200–399 arası döndüğünde istek başarılı kabul edilir.
- İzleme ve Hata Bildirimi: n8n sunucunuz çökerse, internet bağlantısı koparsa veya webhook hata verirse, sistem ardışık 3 başarısız istek sonrasında e-posta ile kesinti uyarısı gönderir. Sistem toparlandığında ise kesintinin ne kadar sürdüğünü belirten düzelme e-postası iletilir. Son 7 günlük tüm yanıt süreleri ve log kayıtları panelde saklanır.
Diğer zamanlama yöntemleri ve bulut çözümleriyle kıyaslama yapmak için cron alternatifleri rehberimize göz atabilirsiniz. İş akışı sonunda ekibe kısa durum mesajı göndermek için n8n Telegram düğümü yerine doğrudan Bot API zamanlaması da yeterlidir; cron ile Telegram bildirimi rehberi token, chat ID ve sendMessage gövdesini adım adım verir.
Sıkça Sorulan Sorular (SSS)
n8n Schedule Trigger düğümü test modunda otomatik çalışır mı?
Hayır, Schedule Trigger düğümü test aşamasında (Canvas üzerinde) yalnızca Execute workflow butonuna tıklandığında manuel olarak bir kez çalışır. Zamanlanmış aralıklarla otomatik yürütülmesi için iş akışının kaydedilip yayımlanması şarttır; eski sürümlerde Active durumu kullanılır.
n8n'de zamanlanmış işlerin saat dilimi nasıl ayarlanır?
Saat dilimi iki seviyede ayarlanabilir: Docker veya sunucu ortamında GENERIC_TIMEZONE ortam değişkeni tanımlanarak tüm sistem için belirlenir ya da ilgili iş akışının Workflow Settings menüsünden Timezone alanı Europe/Istanbul olarak seçilir.
n8n Schedule Trigger yerine neden harici webhook tetikleyici tercih edilir?
Zamanlama yönetimini n8n'den ayırmak, bağımsız HTTP yanıt süresi ve ardışık hata e-posta bildirimleri almak için harici bir zamanlayıcı üzerinden Webhook tetiklemesi tercih edilebilir. n8n erişilemezken görev yürütülemez; bu yöntem kaçırılan görevleri tek başına telafi etmez.
n8n Webhook düğümünde Test URL ile Production URL arasındaki fark nedir?
Test URL, n8n arayüzünde Listen for test event ile açılan geçici dinleme süresinde kullanılabilir. Düzenli ve kesintisiz arka plan otomasyonları için mutlaka Production URL kullanılmalı ve iş akışı yayımlanmış olmalıdır; eski sürümlerde Active konumu kullanılır.
Hemen Ücretsiz Cron Job Oluşturun
n8n Production Webhook URL'nizi cronjob.com.tr ile dakikalık veya cron ifadeli aralıkta tetikleyin; Header Auth, yanıt süresi takibi ve ardışık hata e-postası n8n sunucusundan bağımsız çalışır. Ücretsizdir; kayıtta kredi kartı istenmez.
Ücretsiz Başla →