Plugins
Webhook Plugin
Webhooks Plugin'i, dış otomasyonu OpenClaw TaskFlow'larına bağlayan kimliği doğrulanmış HTTP rotaları ekler.
Önce özel bir Plugin yazmadan Zapier, n8n, bir CI işi veya dahili bir servis gibi güvenilir bir sistemin yönetilen TaskFlow'lar oluşturmasını ve yürütmesini istediğinizde kullanın.
Nerede çalışır
Webhooks Plugin'i Gateway işleminin içinde çalışır.
Gateway'iniz başka bir makinede çalışıyorsa Plugin'i o Gateway ana makinesine kurup yapılandırın, ardından Gateway'i yeniden başlatın.
Rotaları yapılandırma
Yapılandırmayı plugins.entries.webhooks.config altında ayarlayın:
{
plugins: {
entries: {
webhooks: {
enabled: true,
config: {
routes: {
zapier: {
path: "/plugins/webhooks/zapier",
sessionKey: "agent:main:main",
secret: {
source: "env",
provider: "default",
id: "OPENCLAW_WEBHOOK_SECRET",
},
controllerId: "webhooks/zapier",
description: "Zapier TaskFlow köprüsü",
},
},
},
},
},
},
}
Rota alanları:
enabled: isteğe bağlıdır, varsayılanıtruepath: isteğe bağlıdır, varsayılanı/plugins/webhooks/<routeId>sessionKey: bağlı TaskFlow'ların sahibi olan gerekli oturumsecret: gerekli paylaşılan gizli anahtar veya SecretRefcontrollerId: oluşturulan yönetilen akışlar için isteğe bağlı denetleyici kimliğidescription: isteğe bağlı operatör notu
Desteklenen secret girdileri:
- Düz metin dizesi
source: "env" | "file" | "exec"ile SecretRef
Gizli anahtar destekli bir rota başlangıçta gizli anahtarını çözemezse Plugin, bozuk bir uç noktayı açığa çıkarmak yerine o rotayı atlar ve bir uyarı günlüğe kaydeder.
Güvenlik modeli
Her rotaya, yapılandırılmış sessionKey değerinin TaskFlow yetkisiyle hareket etmesi için güvenilir.
Bu, rotanın söz konusu oturumun sahibi olduğu TaskFlow'ları inceleyip değiştirebileceği anlamına gelir; bu nedenle şunları yapmalısınız:
- Her rota için güçlü ve benzersiz bir gizli anahtar kullanın
- Satır içi düz metin gizli anahtarlar yerine gizli anahtar başvurularını tercih edin
- Rotaları iş akışına uyan en dar oturuma bağlayın
- Yalnızca ihtiyacınız olan belirli Webhook yolunu açığa çıkarın
Plugin şunları uygular:
- Paylaşılan gizli anahtar kimlik doğrulaması
- İstek gövdesi boyutu ve zaman aşımı korumaları
- Sabit pencereli hız sınırlama
- Devam eden istek sınırlama
api.runtime.tasks.managedFlows.bindSession(...)üzerinden sahip bağlı TaskFlow erişimi
İstek biçimi
POST isteklerini şunlarla gönderin:
Content-Type: application/jsonAuthorization: Bearer <secret>veyax-openclaw-webhook-secret: <secret>
Örnek:
curl -X POST https://gateway.example.com/plugins/webhooks/zapier \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_SHARED_SECRET' \
-d '{"action":"create_flow","goal":"Review inbound queue"}'
Desteklenen eylemler
Plugin şu anda bu JSON action değerlerini kabul eder:
create_flowget_flowlist_flowsfind_latest_flowresolve_flowget_task_summaryset_waitingresume_flowfinish_flowfail_flowrequest_cancelcancel_flowrun_task
create_flow
Rotanın bağlı oturumu için yönetilen bir TaskFlow oluşturur.
Örnek:
{
"action": "create_flow",
"goal": "Review inbound queue",
"status": "queued",
"notifyPolicy": "done_only"
}
run_task
Mevcut bir yönetilen TaskFlow içinde yönetilen bir alt görev oluşturur.
İzin verilen çalışma zamanları şunlardır:
subagentacp
Örnek:
{
"action": "run_task",
"flowId": "flow_123",
"runtime": "acp",
"childSessionKey": "agent:main:acp:worker",
"task": "Inspect the next message batch"
}
Yanıt biçimi
Başarılı yanıtlar şunu döndürür:
{
"ok": true,
"routeId": "zapier",
"result": {}
}
Reddedilen istekler şunu döndürür:
{
"ok": false,
"routeId": "zapier",
"code": "not_found",
"error": "TaskFlow not found.",
"result": {}
}
Plugin, Webhook yanıtlarından sahip/oturum meta verilerini bilinçli olarak temizler.