Webhooks (plugin)
The Webhooks plugin adds authenticated HTTP routes that bind external automation to OpenClaw TaskFlows. Use it when you want a trusted system such as Zapier, n8n, a CI job, or an internal service to create and drive managed TaskFlows without writing a custom plugin first.Where it runs
The Webhooks plugin runs inside the Gateway process. If your Gateway runs on another machine, install and configure the plugin on that Gateway host, then restart the Gateway.Configure routes
Set config underplugins.entries.webhooks.config:
enabled: optional, defaults totruepath: optional, defaults to/plugins/webhooks/<routeId>sessionKey: required session that owns the bound TaskFlowssecret: required shared secret or SecretRefcontrollerId: optional controller id for created managed flowsdescription: optional operator note
secret inputs:
- Plain string
- SecretRef with
source: "env" | "file" | "exec"
Security model
Each route is trusted to act with the TaskFlow authority of its configuredsessionKey.
This means the route can inspect and mutate TaskFlows owned by that session, so
you should:
- Use a strong unique secret per route
- Prefer secret references over inline plaintext secrets
- Bind routes to the narrowest session that fits the workflow
- Expose only the specific webhook path you need
- Shared-secret authentication
- Request body size and timeout guards
- Fixed-window rate limiting
- In-flight request limiting
- Owner-bound TaskFlow access through
api.runtime.taskFlow.bindSession(...)
Request format
SendPOST requests with:
Content-Type: application/jsonAuthorization: Bearer <secret>orx-openclaw-webhook-secret: <secret>
Supported actions
The plugin currently accepts these JSONaction values:
create_flowget_flowlist_flowsfind_latest_flowresolve_flowget_task_summaryset_waitingresume_flowfinish_flowfail_flowrequest_cancelcancel_flowrun_task
create_flow
Creates a managed TaskFlow for the route’s bound session.
Example:
run_task
Creates a managed child task inside an existing managed TaskFlow.
Allowed runtimes are:
subagentacp