Bill Chirico
ca629296c6
feat(hooks): add agentId support to webhook mappings (#13672)
* feat(hooks): add agentId support to webhook mappings
Allow webhook mappings to route hook runs to a specific agent via
the new `agentId` field. This enables lightweight agents with minimal
bootstrap files to handle webhooks, reducing token cost per hook run.
The agentId is threaded through:
- HookMappingConfig (config type + zod schema)
- HookMappingResolved + HookAction (mapping types)
- normalizeHookMapping + buildActionFromMapping (mapping logic)
- mergeAction (transform override support)
- HookAgentPayload + normalizeAgentPayload (direct /hooks/agent endpoint)
- dispatchAgentHook → CronJob.agentId (server dispatch)
The existing runCronIsolatedAgentTurn already supports agentId on
CronJob — this change simply wires it through from webhook mappings.
Usage in config:
hooks.mappings[].agentId = "my-agent"
Usage via POST /hooks/agent:
{ "message": "...", "agentId": "my-agent" }
Includes tests for mapping passthrough and payload normalization.
Includes doc updates for webhook.md.
* fix(hooks): enforce webhook agent routing policy + docs/changelog updates (#13672) (thanks @BillChirico)
* fix(hooks): harden explicit agent allowlist semantics (#13672) (thanks @BillChirico)
---------
Co-authored-by: Pip <pip@openclaw.ai>
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-02-10 19:23:58 -05:00
..
2026-02-09 20:42:35 -08:00
2026-02-08 16:20:13 -05:00
2026-02-08 16:20:13 -05:00
2026-01-30 03:16:21 +01:00
2026-01-07 22:56:50 +00:00
2026-02-01 10:03:47 +09:00
2026-02-01 10:03:47 +09:00
2026-01-16 20:17:32 +00:00
2026-02-01 10:03:47 +09:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-01-30 03:16:21 +01:00
2026-02-01 10:03:47 +09:00
2026-01-14 01:17:56 +00:00
2026-01-30 03:16:21 +01:00
2026-01-30 03:16:21 +01:00
2026-02-09 16:31:41 -06:00
2026-01-24 21:02:13 +00:00
2026-02-01 10:03:47 +09:00
2026-01-30 03:16:21 +01:00
2026-02-10 17:33:57 -06:00
2026-02-10 00:21:27 -08:00
2026-02-10 00:21:27 -08:00
2026-01-14 15:02:19 +00:00
2026-01-30 03:16:21 +01:00
2026-02-08 17:21:31 -08:00
2026-02-01 10:03:47 +09:00
2026-01-30 03:16:21 +01:00
2026-02-01 09:50:52 +01:00
2026-01-15 03:22:54 +00:00
2026-02-01 10:03:47 +09:00
2026-01-14 01:17:56 +00:00
2026-01-14 01:17:56 +00:00
2026-02-01 10:03:47 +09:00
2026-02-01 10:03:47 +09:00
2026-01-30 03:16:21 +01:00
2026-02-01 10:03:47 +09:00
2026-02-08 14:24:57 -08:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-01-31 16:19:20 +09:00
2026-02-10 17:33:57 -06:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-02-08 16:20:13 -05:00
2026-02-09 16:31:41 -06:00
2026-02-01 10:03:47 +09:00
2026-01-31 16:19:20 +09:00
2026-01-31 16:19:20 +09:00
2026-02-10 00:21:27 -08:00
2026-01-14 05:39:51 +00:00
2026-02-10 00:21:27 -08:00
2026-02-09 17:02:55 -08:00
2026-02-01 10:03:47 +09:00
2026-01-27 12:21:02 +00:00
2026-02-01 10:03:47 +09:00
2026-01-30 03:16:21 +01:00
2026-02-09 17:02:55 -08:00
2026-02-08 14:24:57 -08:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-02-08 20:06:29 -05:00
2026-02-08 16:20:13 -05:00
2026-02-10 17:33:57 -06:00
2026-02-10 17:33:57 -06:00
2026-01-31 16:19:20 +09:00
2026-02-05 16:34:48 -08:00
2026-02-05 16:34:48 -08:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-02-09 22:22:29 -08:00
2026-02-10 17:33:57 -06:00
2026-02-10 17:33:57 -06:00
2026-02-01 10:03:47 +09:00
2026-02-10 17:33:57 -06:00
2026-01-31 16:04:04 +09:00
2026-02-09 20:42:35 -08:00
2026-01-18 06:37:37 +00:00
2026-02-01 10:03:47 +09:00
2026-02-01 10:03:47 +09:00
2026-01-31 16:19:20 +09:00
2026-01-31 16:19:20 +09:00
2026-02-01 10:20:27 +00:00
2026-02-01 10:03:47 +09:00
2026-02-05 16:35:38 -08:00
2026-02-09 09:20:52 +09:00
2026-01-24 20:56:40 +00:00
2026-01-14 01:17:56 +00:00
2026-02-09 20:42:35 -08:00
2026-01-30 03:16:21 +01:00
2026-02-10 17:33:57 -06:00
2026-02-09 20:42:35 -08:00
2026-02-10 00:39:42 -06:00
2026-02-03 16:00:57 -08:00
2026-02-04 16:16:34 -05:00
2026-02-10 19:23:58 -05:00
2026-02-04 16:16:34 -05:00
2026-02-10 17:33:57 -06:00
2026-02-07 17:55:34 -08:00
2026-02-09 23:58:52 -06:00
2026-01-24 01:18:33 +00:00
2026-02-04 16:16:34 -05:00
2026-01-24 04:21:47 +00:00
2026-02-02 23:45:05 -08:00
2026-01-18 02:12:10 +00:00
2026-02-10 17:33:57 -06:00
2026-01-27 03:24:54 +00:00
2026-02-04 16:16:34 -05:00
2026-01-20 15:57:08 +00:00
2026-02-04 16:16:34 -05:00
2026-02-05 14:45:45 -08:00
2026-02-09 07:11:33 +00:00
2026-02-10 17:33:57 -06:00
2026-01-25 04:35:20 +00:00
2026-02-04 16:16:34 -05:00
2026-02-01 10:03:47 +09:00
2026-02-09 17:02:55 -08:00
2026-01-31 16:19:20 +09:00
2026-02-05 16:35:38 -08:00
2026-02-09 07:11:33 +00:00
2026-02-09 09:20:52 +09:00
2026-01-24 20:56:40 +00:00
2026-01-24 09:07:03 +00:00
2026-02-10 17:33:57 -06:00
2026-02-10 19:23:58 -05:00
2026-02-10 17:33:57 -06:00
2026-02-04 16:16:34 -05:00
2026-02-10 17:33:57 -06:00
2026-02-09 23:58:52 -06:00
2026-02-10 19:23:58 -05:00