İçeriğe atla
OrqLabs

Tetikleyici (Trigger) node'ları

Manual, Schedule, Webhook, Message received, Platform event ve Form submission tetikleyicilerinin parametreleri ve örnekleri.

10 dk Son güncelleme:
Bu sayfada
  1. Kısaca
  2. Teknik ayrıntılar
  3. Manual trigger (trigger.manual)
  4. Schedule (trigger.schedule)
  5. Webhook (trigger.webhook)
  6. Message received (trigger.messageReceived)
  7. Platform event (trigger.event)
  8. Form submission (trigger.form)
  9. İpuçları ve sınırlar
  10. Sık sorulan sorular
  11. Sonraki adım

Bu rehberde: İş akışını neyin başlattığını seçersiniz: bir düğme, bir saat, bir web isteği, gelen bir mesaj, bir platform olayı veya bir form. Altı tetikleyicinin tüm alanlarını ve örneklerini bulursunuz.

⏱ 10 dakika

Kısaca

Tetikleyici (trigger), iş akışının "başla" düğmesidir. Her iş akışında tam olarak bir tane bulunur ve paletteki Tetikleyiciler kategorisindedir. Tetikleyici yalnızca iş akışı Etkin iken kendiliğinden çalışır; Taslak durumunda yalnızca Test ile denenir.

Bir iş akışının anatomisi: tetikleyici başlatır, kutular sırayla çalışır, aralarında öğeler akar.
Bir iş akışının anatomisi: tetikleyici başlatır, kutular sırayla çalışır, aralarında öğeler akar.
Webhook akışı: dış sistem api.orqlabs.com adresine istek gönderir, OrqLabs kuyruğa alır ve iş akışını başlatır.
Webhook akışı: dış sistem api.orqlabs.com adresine istek gönderir, OrqLabs kuyruğa alır ve iş akışını başlatır.

Teknik ayrıntılar

Her iş akışı tam olarak bir tetikleyici (trigger) node'u ile başlar. Tetikleyicinin girdi handle'ı yoktur (inputs: 0); çalıştığında ilk item'ları üretir ve akış oradan topolojik sırayla ilerler. İş akışı Etkinleştir (activate) edildiğinde tetikleyici kaydedilir: cron zamanlayıcıya, webhook yoluna veya olay aboneliğine.

NodeTipGirdiÇıktı handle'larıEntegrasyonModel
Manual triggertrigger.manual0main––
Scheduletrigger.schedule0main––
Webhooktrigger.webhook0main––
Message receivedtrigger.messageReceived0mainMessaging hesabı (proje üzerinden)–
Platform eventtrigger.event0main––
Form submissiontrigger.form0main––

Manual trigger (trigger.manual)

Panelden Çalıştır düğmesiyle veya API'den (POST /orgs/:orgId/workflows/:id/run { input }) başlatılır. Test ve isteğe bağlı işler için idealdir.

AnahtarEtiketTürZorunluVarsayılanNotlar
sampleInputSample input (JSON)jsonHayır–Editörde test ederken ilk item'ın json içeriği olur. API'den gelen input bunu geçersiz kılar.

Çıktı: tek item; json = input (veya sampleInput). {{ $json.topic }} gibi erişirsiniz.

Örnek: sampleInput: { "topic": "Yeni ürün lansmanı", "platforms": ["X", "LINKEDIN"] } → agent.contentCreator (topic: {{ $json.topic }}).

Schedule (trigger.schedule)

Cron ifadesine göre çalışır. Zamanlayıcı kuyruğu (scheduler) her dakika etkin iş akışlarını kontrol eder.

AnahtarEtiketTürZorunluVarsayılanNotlar
cronCron expressioncronEvet0 9 * * 1-55 alanlı standart cron: dakika saat ay-günü ay hafta-günü
timezoneTimezonestringHayırEurope/IstanbulIANA adı. Boşsa iş akışı settings.timezone, o da boşsa UTC.

Çıktı: tek item { "scheduledFor": "<ISO>", "firedAt": "<ISO>", "cron": "..." }.

Sık kullanılan ifadeler:

AmaçCron
Hafta içi 08:000 8 * * 1-5
Her saat başı0 * * * *
Her 15 dakika*/15 * * * *
Pazartesi 07:000 7 * * 1
Ayın 1'i 08:000 8 1 * *
Günde iki kez (09:00 ve 18:00)0 9,18 * * *

Aynı iş akışının önceki çalıştırması hâlâ sürüyorsa settings.concurrency (varsayılan 1) yeni çalıştırmayı kuyrukta bekletir. Ayrıntı: Tetikleyiciler ve zamanlamalar.

Webhook (trigger.webhook)

Benzersiz bir URL'ye gelen HTTP isteğiyle başlar: https://api.orqlabs.com/api/v1/hooks/<webhookPath>. URL'yi denetçi panelinden veya GET /orgs/:orgId/workflows/:id/webhook-url ile alın.

AnahtarEtiketTürZorunluVarsayılanNotlar
methodMethodselectHayırPOSTPOST, GET, PUT
pathPath suffixstringHayırotomatikBoşsa rastgele, tahmin edilemez bir yol üretilir. Özel yol yazarsanız organizasyon içinde benzersiz olmalıdır.
secretShared secret header (X-Webhook-Secret)stringHayır–Doluysa istek X-Webhook-Secret başlığında aynı değeri taşımalıdır; aksi halde 401.
respondRespondselectHayırimmediatelyimmediately: 202 + { runId } döner. lastNode: şimdilik immediately gibi davranır; 202 + { runId } döner. Sonucu GET /orgs/:orgId/runs/:runId ile okuyun.

Çıktı item'ı: { "body": {...}, "query": {...}, "headers": {...}, "method": "POST" }. Gövde alanlarına {{ $json.body.email }} ile erişirsiniz.

Örnek – site formundan lead:

trigger.webhook (POST, secret: "f0rm-s3cret", respond: immediately)
  → leads.create (mapping: name: {{ $json.body.name }}, email: {{ $json.body.email }})
  → agent.leadQualifier

Gönderim:

curl -X POST "https://api.orqlabs.com/api/v1/hooks/abc123" \
  -H "Content-Type: application/json" -H "X-Webhook-Secret: f0rm-s3cret" \
  -d '{"name":"Ayşe Kaya","email":"ayse@ornek.com"}'

Message received (trigger.messageReceived)

Bağlı bir mesajlaşma kanalına (WhatsApp, Telegram, Slack, Discord, Messenger, Email, SMS) mesaj geldiğinde çalışır. Kanal entegrasyonu iş akışının projesine bağlı olmalıdır; webhook kurulumu için ilgili entegrasyon rehberine bakın.

AnahtarEtiketTürZorunluVarsayılanNotlar
channelsChannelsmultiselectHayır["WHATSAPP", "TELEGRAM"]WHATSAPP, TELEGRAM, SLACK, DISCORD, MESSENGER, EMAIL, TWILIO_SMS
onlyNewConversationsOnly first message of a conversationbooleanHayırfalseKarşılama akışları için
keywordFilterKeyword filter (optional)stringHayır–Tek bir kelime veya ifade (büyük/küçük harf fark etmez); mesaj bu ifadeyi içermiyorsa tetiklenmez. Birden fazla kelime için Eğer kutusu kullanın.

Çıktı item'ı:

{
  "channel": "WHATSAPP",
  "integrationId": "int_...",
  "conversationId": "conv_...",
  "contactId": "905xxxxxxxxx",
  "contactName": "Ayşe",
  "text": "Fiyat listesi alabilir miyim?",
  "mediaUrl": null,
  "isNewConversation": false,
  "receivedAt": "2026-09-25T10:12:00Z",
  "leadId": "lead_..."
}

Konuşma HUMAN durumundaysa (insan devralmışsa) tetikleyici çalışmaz; bot duraklatılmıştır. Örnek: WhatsApp ve Telegram yapay zekâ sohbet botu şablonu – trigger.messageReceived → agent.chatbot → logic.if (handoff) → messaging.handoff / messaging.send.

Platform event (trigger.event)

OrqLabs'un iç olaylarında çalışır. Olay yükü item'ın json'u olur.

AnahtarEtiketTürZorunluVarsayılanNotlar
eventEventselectEvet–lead.created, lead.qualified, lead.replied, post.published, post.failed, conversation.handoff, analytics.synced, analytics.threshold, agent.report.created, approval.resolved, budget.warning
filterPayload filter (expression)expressionHayır–Doğru (truthy) dönmezse çalıştırma başlamaz: {{ $json.score >= 70 }}

Bu node'da seçilebilen olaylar PLATFORM_EVENTS listesinin bir alt kümesidir; tam liste ve yükler için Giden webhook'lar.

Örnek 1 – sıcak lead bildirimi: trigger.event (lead.qualified, filter: {{ $json.score >= 85 }}) → utility.notify (title: "Sıcak lead: {{ $json.name }}", channels: [inapp, slack]).

Örnek 2 – yayın hatasında tekrar: trigger.event (post.failed) → logic.wait (30 dakika) → social.publish (dryRun: false).

Form submission (trigger.form)

OrqLabs'un barındırdığı bir lead formu üretir: https://api.orqlabs.com/api/v1/public/forms/<slug> (GET form tanımını, POST gönderimi alır). Sitenize iframe veya link olarak ekleyin; denetçi paneli embed kodunu gösterir.

AnahtarEtiketTürZorunluVarsayılanNotlar
titleForm titlestringHayırContact usForm başlığı
fieldsFieldslistHayır["name", "email", "phone", "message"]Alan anahtarları; email veya phone en az biri lead dedupe için önerilir
successMessageSuccess messagestringHayırThanks! We will get back to you.Gönderim sonrası mesaj

Çıktı item'ı: { "name": "...", "email": "...", "phone": "...", "message": "...", "submittedAt": "...", "ip": "...", "utm": {...} }.

Örnek: trigger.form → leads.create → messaging.sendEmail (to: {{ $json.email }}, subject: "Talebinizi aldık") → agent.leadQualifier.

İpuçları ve sınırlar

  • Bir iş akışında yalnızca bir tetikleyici bulunur. Aynı akışı hem zamanlanmış hem webhook ile başlatmak için iki iş akışı yapın ve ortak kısmı utility.runWorkflow ile çağırın.
  • Tetikleyici yalnızca iş akışı ACTIVE iken çalışır; DRAFT ve PAUSED durumunda yalnızca manuel test çalıştırması yapılabilir.
  • Test modunda (testMode: true) tetikleyici sampleInput kullanır ve dış etkili node'lar (social.publish, messaging.send) dry-run olur.
  • Webhook ve form uç noktaları organizasyon başına dakikada 600 istekle sınırlıdır; aşımda 429 döner.
  • Plan limiti runsPerMonth dolduğunda tetikleyiciler çalıştırmayı kuyruğa almaz; budget.warning bildirimiyle haberdar olursunuz.

Sık sorulan sorular

Bir iş akışına iki tetikleyici ekleyebilir miyim? Hayır. İki ayrı iş akışı yapın ve ortak kısmı İş akışı çalıştır kutusuyla çağırın.

Zamanlama tam saatinde mi çalışır? Zamanlayıcı her dakika kontrol eder; birkaç saniyelik gecikme normaldir.

Test ederken gerçek mesaj beklemem gerekir mi? Hayır. Test düğmesi tetikleyiciyi örnek veriyle hemen ateşler.

Sonraki adım

OrqLabs ile başlayın

İlk iş akışınızı bugün kurun

Ücretsiz planla başlayın: hesaplarınızı bağlayın, bir şablon seçin, onay adımlarıyla kontrol sizde kalsın. Kredi kartı gerekmez.