Webhooks (plugin)
Webhooks pluginは、外部自動化をOpenClaw TaskFlowsに結び付ける認証付きHTTPルートを追加します。 Zapier、n8n、CIジョブ、または内部サービスのような信頼されたシステムから、まずcustom pluginを書かずにmanaged TaskFlowsを作成して操作したい場合に使用します。実行場所
Webhooks pluginはGatewayプロセス内で実行されます。 Gatewayが別のマシンで動作している場合は、そのGateway hostにpluginをインストールして設定し、その後Gatewayを再起動してください。ルートを設定する
plugins.entries.webhooks.config 配下に設定します:
enabled: 任意。デフォルトはtruepath: 任意。デフォルトは/plugins/webhooks/<routeId>sessionKey: バインドされたTaskFlowsを所有する必須のsessionsecret: 必須の共有シークレットまたはSecretRefcontrollerId: 作成されるmanaged flow用の任意のcontroller iddescription: 任意の運用メモ
secret 入力:
- プレーン文字列
source: "env" | "file" | "exec"のSecretRef
セキュリティモデル
各ルートは、設定されたsessionKey のTaskFlow権限で動作することを信頼されます。
これは、そのルートがそのsessionに属するTaskFlowsを検査および変更できることを意味するため、次のようにしてください:
- ルートごとに強力で一意なシークレットを使用する
- インラインのプレーンテキストシークレットよりもシークレット参照を優先する
- ワークフローに合う最も狭いsessionにルートをバインドする
- 必要な特定のwebhook pathのみを公開する
- 共有シークレット認証
- リクエストボディサイズとタイムアウトのガード
- fixed-window rate limiting
- 処理中リクエスト数の制限
api.runtime.taskFlow.bindSession(...)を通じたowner-bound TaskFlowアクセス
リクエスト形式
次の形式でPOST リクエストを送信します:
Content-Type: application/jsonAuthorization: Bearer <secret>またはx-openclaw-webhook-secret: <secret>
サポートされるactions
pluginは現在、次のJSONaction 値を受け付けます:
create_flowget_flowlist_flowsfind_latest_flowresolve_flowget_task_summaryset_waitingresume_flowfinish_flowfail_flowrequest_cancelcancel_flowrun_task
create_flow
ルートにバインドされたsession用のmanaged TaskFlowを作成します。
例:
run_task
既存のmanaged TaskFlow内にmanaged child taskを作成します。
許可されるruntimeは次のとおりです:
subagentacp