İçeriğe atla
OrqLabs

Yardımcı (Utilities) node'ları

Request approval, Notify team, Create report, Send webhook, Run another workflow ve No operation node'larının parametreleri ve örnekleri.

10 dk Son güncelleme:
Bu sayfada
  1. Kısaca
  2. Teknik ayrıntılar
  3. Request approval (utility.approval)
  4. Notify team (utility.notify)
  5. Create report (utility.report)
  6. Send webhook (utility.webhookOut)
  7. Run another workflow (utility.runWorkflow)
  8. No operation (utility.noop)
  9. İpuçları ve sınırlar
  10. Sık sorulan sorular
  11. Sonraki adım

Bu rehberde: İş akışını insanlara ve diğer sistemlere bağlayan kutuları öğrenirsiniz: onay isteme, ekibe bildirim, rapor kaydetme, webhook gönderme ve başka bir iş akışını çalıştırma.

⏱ 10 dakika

Kısaca

Yardımcı kutular iş akışının "iletişim" tarafıdır. Onay size sorar, Bildir haber verir, Rapor sonucu Raporlar sayfasına kaydeder, Webhook gönder başka bir sisteme iletir.

Onay akışı: ajan taslak üretir, onay noktasında bekler, insan onaylar veya reddeder, onaylanan yayınlanır.
Onay akışı: ajan taslak üretir, onay noktasında bekler, insan onaylar veya reddeder, onaylanan yayınlanır.
Onaylar sayfası: ① bekleyen onay kartı, ② düzenle, ③ Onayla, ④ Reddet.
Onaylar sayfası: ① bekleyen onay kartı, ② düzenle, ③ Onayla, ④ Reddet.

Teknik ayrıntılar

Yardımcı node'lar iş akışını insanlara ve diğer sistemlere bağlar: onay ister, bildirir, rapor kaydeder, webhook gönderir, alt iş akışı çalıştırır.

NodeTipGirdiÇıktı handle'larıEntegrasyonModel
Request approvalutility.approval1approved, rejected––
Notify teamutility.notify1main– (Slack/Telegram kanalı için ilgili entegrasyon)–
Create reportutility.report1main––
Send webhookutility.webhookOut1main, errorWEBHOOK–
Run another workflowutility.runWorkflow1main––
No operationutility.noop1main––

Request approval (utility.approval)

Her gelen item için Onaylar (Approvals) sayfasında bir görev oluşturur; run WAITING olur. Onayda item approved, redde rejected handle'ından devam eder.

AnahtarEtiketTürZorunluVarsayılanNotlar
titleTitleexpressionEvetApprove content for {{ $json.platform }}Liste başlığı
descriptionDescriptionexpressionHayır{{ $json.body }}Markdown; item'daki binary/mediaUrls görsel olarak eklenir
allowEditAllow editing before approvalbooleanHayırtrueOnaylayanın gönderdiği editedPayload item json'unun yerine geçer
timeoutHoursAuto-reject after (hours)numberHayır72Süre dolunca rejected (rejectionComment: "timeout")

Çıktı: approved → item (düzenlenmişse güncel) + approval: { id, approvedBy, approvedAt, comment }; rejected → item + rejectionComment. Olaylar: approval.requested, approval.resolved. Yetki: MEMBER ve üstü.

Örnek (şablon): title "Approve {{ $json.platform }} post", description {{ $json.body }}, allowEdit true → approved → agent.socialPublisher; rejected → utility.notify.

Örnek – yalnızca riskli içerik onaya: logic.if ({{ $json.contentType === "promotional" }}) → true → utility.approval; false ve approved → logic.merge (append) → yayın.

Ayrıntı: Onaylar ve insan denetimi.

Notify team (utility.notify)

Proje üyelerine uygulama içi bildirim gönderir; isteğe bağlı e-posta, Slack, Telegram.

AnahtarEtiketTürZorunluVarsayılanNotlar
titleTitleexpressionEvet–
bodyBodyexpressionHayır–Markdown
channelsChannelsmultiselectHayır["inapp"]inapp, email, slack, telegram. Slack: Slack entegrasyonunda seçilen Bildirim kanalı (Entegrasyonlar → Slack); Telegram: projenin bot entegrasyonu ve Default channel / chat ID. Hesap bağlı değilse veya kanal seçilmemişse o kanal atlanır ve çalıştırma günlüğüne uyarı yazılır; iş akışı durmaz
linkLinkexpressionHayır–Bildirimde "Aç" düğmesi ({{ $json.reportUrl }}, {{ $json.url }})

Çıktı: item + notificationId. Alıcılar: projenin üyeleri (organizasyon üyeliği + proje erişimi); e-posta platform SMTP ayarıyla gönderilir. Tek çalıştırmada aynı başlıkla 20'den fazla bildirim birleştirilir ("ve 17 tane daha").

Örnek: trigger.event (lead.qualified, filter {{ $json.score >= 85 }}) → utility.notify (title "Sıcak lead: {{ $json.name }} ({{ $json.company }})", body "Skor {{ $json.score }} – {{ $json.scoreReason }}", channels [inapp, slack], link {{ $json.url }}).

Create report (utility.report)

Raporlar (Reports) sayfasında görünen bir rapor kaydeder; agent.report.created olayı yayınlanır.

AnahtarEtiketTürZorunluVarsayılanNotlar
typeReport typeselectHayırGENERALGENERAL, CONTENT_PLAN, LEAD_LIST, MARKET_RESEARCH, SEO_AUDIT, ANALYTICS_REVIEW, CAMPAIGN_SUMMARY, WEEKLY_DIGEST
titleTitleexpressionEvet–
contentMarkdownContent (markdown)textEvet–İfade destekler; tablolar ve listeler render edilir
metricsMetrics (JSON)jsonHayır–Kutucuk olarak gösterilir: { "leads": {{ $node["Find leads"].all().length }}, "cost": {{ $run.costUsd ?? 0 }} }

Gelen tüm item'lar için tek rapor oluşturulur (ilk item bağlam olarak kullanılır); item'lar değişmeden geçer, reportId ve reportUrl eklenir. Ajanların kendi raporları ayrıca kaydedilir; bu node ajan olmayan akışlar veya birden fazla node'un çıktısını derlemek içindir.

Örnek (şablon): type LEAD_LIST, title "Leads – week {{ $today }}", contentMarkdown {{ $node["Müşteri Adayı Puanlayıcı"].json.reportMarkdown }}.

Örnek – GA4 özeti:

contentMarkdown: |
  # Haftalık trafik
  | Kanal | Oturum | Dönüşüm |
  |---|---|---|
  {{ $node["Kanal toplamları"].all().map(i => `| ${i.json.channel} | ${i.json.sessions} | ${i.json.conversions} |`).join("\n") }}
metrics: { "sessions": {{ $node["GA4 son 7 gün"].json.totals.sessions }} }

Send webhook (utility.webhookOut)

Item'ları HMAC imzalı JSON olarak dış URL'ye POST eder.

AnahtarEtiketTürZorunluVarsayılanNotlar
urlURL (overrides integration)urlHayır–Boşsa seçili WEBHOOK entegrasyonunun Endpoint URL alanı
eventEvent namestringHayırworkflow.outputZarftaki type ve X-AgentFlow-Event başlığı

Gönderilen gövde:

{
  "id": "evt_01J…",
  "type": "workflow.output",
  "organizationId": "org_…",
  "projectId": "prj_…",
  "at": "2026-09-26T09:00:00Z",
  "payload": {
    "workflowId": "wf_…", "runId": "run_…", "nodeName": "Send webhook",
    "items": [ { "json": { … } } ]
  }
}

Başlıklar: Content-Type: application/json, X-AgentFlow-Event, X-AgentFlow-Timestamp (Unix saniye), X-AgentFlow-Signature: sha256=<hex> (entegrasyonun Signing secret alanı ile ham gövdenin HMAC-SHA256'sı; secret boşsa gönderilmez) ve entegrasyondaki Extra headers. 10 saniye zaman aşımı; 2xx dışı yanıt retryable hatadır (node retry politikasıyla tekrar). Çıktı: item + webhook: { status, durationMs }; hatada error handle'ı.

Örnek: agent.leadQualifier → utility.webhookOut (event lead.qualified.batch) → CRM'inizde toplu işleme. Doğrulama kodu: Custom Webhook, Giden webhook'lar.

Run another workflow (utility.runWorkflow)

Alt iş akışını gelen item'larla başlatır (triggerType: API).

AnahtarEtiketTürZorunluVarsayılanNotlar
workflowIdWorkflowstringEvet–Denetçi panelinde iş akışı seçici; aynı organizasyonda olmalı
waitForResultWait for resultbooleanHayırtruetrue: alt akışın son node çıktısı bu node'un çıktısı olur; false: hemen devam, çıktı { runId }

Alt iş akışı ACTIVE veya DRAFT olabilir (ARCHIVED reddedilir); tetikleyicisi ne olursa olsun gelen item'lar tetikleyici çıktısı sayılır. Alt akışın maliyeti üst çalıştırmanın budgetUsd toplamına eklenir. Derinlik en fazla 5; kendini çağırma doğrulamada reddedilir.

Örnek – ortak yayın alt akışı:

Ana akış: agent.contentCreator → utility.runWorkflow (workflowId "Yayın standardı", waitForResult true) → utility.report
Alt akış: trigger.manual → data.set (utm ekle) → utility.approval → agent.socialPublisher

Birden fazla ana akış aynı yayın standardını paylaşır; değişiklik tek yerde yapılır.

No operation (utility.noop)

Parametresi yoktur; item'ları değiştirmeden geçirir. Kullanım: logic.switch'in default dalını kapatmak, iki dalı görsel olarak birleştirmek (gerçek birleştirme için logic.merge), ileride doldurulacak yer tutucu, logic.if'in kullanılmayan dalını belirgin bırakmak.

İpuçları ve sınırlar

  • utility.approval ve logic.wait (approval) farkı: ilki iki dallı yönlendirme, ikincisi tek dal + approved alanı.
  • Bildirim kanallarında email platform SMTP ayarını (SMTP_*) kullanır; tanımlı değilse yalnızca uygulama içi bildirim gider ve logda uyarı görünür.
  • utility.report gövdesi 200 KB ile sınırlıdır; büyük veriyi metrics/data yerine CRM veya Sheets'e yazın.
  • utility.webhookOut test modunda dry-run'dır (istek gönderilmez, webhook.dryRun: true).
  • utility.runWorkflow ile waitForResult: true kullanıyorsanız alt akışta onay node'u olmasın; üst run da WAITING kalır.

Sık sorulan sorular

Onay kutusu ile Bekle (onay) farkı ne? Onay iki dallıdır (onaylandı / reddedildi). Bekle (onay) tek dal döner ve kararı öğeye yazar.

Bildirim e-postası neden gelmedi? E-posta kanalı platform SMTP ayarını kullanır; tanımlı değilse yalnızca uygulama içi bildirim gider.

Onayı kimler verebilir? Üye ve üstü roller. İzleyici yalnızca görür.

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.