Teknium
45ab5e3b5d
Inspired by ChatGPT Work: event-triggered cron jobs via webhook routes
...
ChatGPT Work's Aug 25 2026 release lets scheduled tasks fire from app
events (new Gmail message, Slack activity, GitHub PR feedback) instead
of polling on a cadence. This ports the pattern by composing two
existing Hermes subsystems: a webhook route can now set cron_job to
fire an existing cron job on each inbound event.
- gateway/platforms/webhook.py: cron_job route mode — after the same
HMAC auth / rate limit / filters / script / idempotency as agent
routes, the rendered prompt becomes transient per-run context and the
job fires through execute_job_for_event on a worker thread (202
Accepted immediately). Startup validation rejects cron_job +
deliver_only.
- tools/cronjob_tools.py: execute_job_for_event() — public wrapper over
the shared claimed-run body (_execute_job_now), so event fires share
at-most-once claiming, in-flight dedupe, delivery, and [SILENT]
handling with scheduler and manual runs.
- hermes webhook subscribe --cron-job: creates event-trigger
subscriptions; job ref validated (and canonicalized to the job ID) at
create time.
- Docs: webhooks.md route table + Event-Triggered Cron Jobs section,
cron.md capability list, zh-Hans mirrors.
- Tests: tests/gateway/test_webhook_cron_trigger.py (adapter + unit),
CLI tests in test_webhook_cli.py.
2026-09-13 21:30:02 -07:00
..
2026-09-13 09:40:44 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 05:09:43 -07:00
2026-09-13 21:30:02 -07:00
2026-09-13 23:20:01 -04:00
2026-09-12 08:25:54 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 08:06:48 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 06:13:16 -07:00
2026-09-11 19:01:47 -07:00
2026-09-13 05:07:11 -07:00
2026-09-12 08:25:54 -07:00
2026-09-13 14:48:09 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 03:45:33 +05:30
2026-09-11 03:45:33 +05:30
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-05 18:08:00 +05:30
2026-09-12 12:02:55 +05:30
2026-09-12 22:07:41 -07:00
2026-09-12 22:07:41 -07:00
2026-09-12 22:07:41 -07:00
2026-09-03 13:08:40 -07:00
2026-09-03 13:48:49 -07:00
2026-09-13 05:07:11 -07:00
2026-09-09 21:17:35 +05:30
2026-09-12 22:07:41 -07:00
2026-09-13 05:07:11 -07:00
2026-09-12 22:07:41 -07:00
2026-09-03 13:08:40 -07:00
2026-09-13 14:35:02 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 20:57:03 -07:00
2026-09-08 05:10:57 -07:00
2026-09-08 03:06:30 -07:00
2026-09-04 00:15:16 -07:00
2026-09-12 08:25:54 -07:00
2026-09-13 14:35:32 -07:00
2026-09-12 08:25:54 -07:00
2026-09-13 14:35:32 -07:00
2026-09-13 05:21:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 20:41:41 -07:00
2026-09-13 05:21:02 -07:00
2026-09-13 20:54:50 -07:00
2026-09-13 14:35:32 -07:00
2026-09-13 05:21:02 -07:00
2026-09-12 22:00:02 -07:00
2026-09-13 14:35:32 -07:00
2026-09-08 13:39:17 -07:00
2026-09-08 13:39:17 -07:00
2026-09-13 16:43:50 -07:00
2026-09-03 13:30:31 -07:00
2026-09-13 20:50:10 -07:00
2026-09-13 05:07:11 -07:00
2026-09-11 11:54:49 -07:00
2026-09-12 08:25:36 -07:00
2026-09-13 20:41:41 -07:00
2026-09-12 16:17:04 -07:00
2026-09-13 14:48:09 -07:00
2026-09-13 05:09:06 -07:00
2026-09-07 04:46:37 -07:00
2026-09-12 05:56:15 -07:00
2026-09-10 01:08:18 -07:00
2026-09-13 05:07:50 -07:00
2026-09-11 06:37:27 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 05:09:06 -07:00
2026-09-12 20:57:21 -07:00
2026-09-12 05:56:15 -07:00
2026-09-05 16:45:59 +05:30
2026-09-13 05:21:02 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 09:18:02 -07:00
2026-09-03 14:16:54 -07:00
2026-09-10 01:25:45 -07:00
2026-09-04 00:15:16 -07:00
2026-09-04 01:28:31 -07:00
2026-09-03 13:16:47 -07:00
2026-09-13 05:09:06 -07:00
2026-09-03 13:29:35 -07:00
2026-09-13 20:56:26 -07:00
2026-09-12 08:24:11 -07:00
2026-09-04 01:28:31 -07:00
2026-09-04 07:17:00 -07:00
2026-09-13 14:41:26 -07:00
2026-09-06 05:41:46 -07:00
2026-09-13 20:51:06 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 21:39:10 -07:00
2026-09-13 05:21:02 -07:00
2026-09-11 03:45:33 +05:30
2026-09-13 14:48:09 -07:00
2026-09-13 15:41:01 -07:00
2026-09-13 15:41:01 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 15:41:01 -07:00
2026-09-10 01:00:19 -07:00
2026-09-12 15:00:37 +05:30
2026-09-07 00:51:41 -07:00
2026-09-13 15:41:01 -07:00
2026-09-06 07:20:24 -07:00
2026-09-13 05:07:11 -07:00
2026-09-11 03:45:32 +05:30
2026-09-03 17:13:22 -07:00
2026-09-03 13:48:14 -07:00
2026-09-13 05:08:29 -07:00
2026-09-13 14:43:19 -07:00
2026-09-07 14:16:57 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 13:48:14 -07:00
2026-09-13 14:37:17 -07:00
2026-09-13 05:09:06 -07:00
2026-09-03 17:13:22 -07:00
2026-09-07 06:04:06 -07:00
2026-09-07 04:46:54 -07:00
2026-09-13 06:06:46 -07:00
2026-09-07 04:46:54 -07:00
2026-09-07 04:46:54 -07:00
2026-09-13 05:09:43 -07:00
2026-09-09 12:18:58 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 12:18:58 -07:00
2026-09-07 04:55:17 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 05:56:50 -07:00
2026-09-09 10:28:52 -07:00
2026-09-12 08:47:21 -07:00
2026-09-12 08:25:54 -07:00
2026-09-13 16:43:50 -07:00
2026-09-12 08:25:54 -07:00
2026-09-03 15:07:39 -07:00
2026-09-13 16:43:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-05 15:02:53 +02:00
2026-09-12 08:34:43 -07:00
2026-09-12 20:49:18 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 17:13:22 -07:00
2026-09-11 19:50:46 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-07 06:15:43 -07:00
2026-09-13 05:07:11 -07:00
2026-09-10 04:22:38 -07:00
2026-09-13 20:54:50 -07:00
2026-09-03 15:07:39 -07:00
2026-09-12 05:10:51 -07:00
2026-09-13 16:43:50 -07:00
2026-09-11 03:45:32 +05:30
2026-09-13 16:43:50 -07:00
2026-09-13 21:06:39 -07:00
2026-09-10 09:11:00 -07:00
2026-09-07 08:08:04 -07:00
2026-09-03 13:48:49 -07:00
2026-09-12 01:35:05 -07:00
2026-09-12 01:35:05 -07:00
2026-09-12 14:05:36 -07:00
2026-09-13 21:07:35 -07:00
2026-09-11 03:45:33 +05:30
2026-09-11 03:45:31 +05:30
2026-09-10 18:11:25 -07:00
2026-09-04 07:17:00 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-10 14:56:55 -04:00
2026-09-03 09:44:26 -07:00
2026-09-12 08:24:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-09 04:38:01 -07:00
2026-09-13 05:07:11 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 04:38:01 -07:00
2026-09-12 07:57:13 -07:00
2026-09-09 04:38:01 -07:00
2026-09-10 05:09:15 -07:00
2026-09-12 08:26:48 -07:00
2026-09-06 13:36:12 -07:00
2026-09-09 04:38:01 -07:00
2026-09-09 04:38:01 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:07:11 -07:00
2026-09-11 03:45:31 +05:30
2026-09-12 08:27:53 -07:00
2026-09-13 14:33:11 -07:00
2026-09-13 14:33:11 -07:00
2026-09-06 05:34:01 -07:00
2026-09-10 01:00:19 -07:00
2026-09-13 15:45:57 -07:00
2026-09-13 05:08:29 -07:00
2026-09-10 14:56:55 -04:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:11 -07:00
2026-09-07 02:09:34 -07:00
2026-09-04 20:24:24 -04:00
2026-09-09 11:31:10 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 05:09:06 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 06:24:54 -07:00
2026-09-11 06:24:54 -07:00
2026-09-11 06:24:54 -07:00
2026-09-11 06:24:54 -07:00
2026-09-13 05:21:02 -07:00
2026-09-11 06:37:27 -07:00
2026-09-09 13:30:28 -07:00
2026-09-11 06:24:54 -07:00
2026-09-13 14:45:10 -07:00
2026-09-03 13:33:10 -07:00
2026-09-13 05:32:38 -07:00
2026-09-12 08:25:54 -07:00
2026-09-04 07:17:00 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:33:10 -07:00
2026-09-12 08:25:54 -07:00
2026-09-12 08:25:54 -07:00
2026-09-07 22:25:12 -07:00
2026-09-03 13:08:40 -07:00
2026-09-12 05:10:31 -07:00
2026-09-03 09:44:26 -07:00
2026-09-12 08:25:54 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 05:08:29 -07:00
2026-09-11 03:45:31 +05:30
2026-09-12 21:47:53 -07:00
2026-09-13 05:21:02 -07:00
2026-09-12 08:25:54 -07:00
2026-09-03 22:00:01 -07:00
2026-09-13 05:07:11 -07:00
2026-09-11 06:24:54 -07:00
2026-09-08 19:52:26 +05:30
2026-09-03 13:22:51 -07:00
2026-09-12 08:34:43 -07:00
2026-09-03 14:16:54 -07:00
2026-09-03 13:10:38 -07:00
2026-09-13 05:07:50 -07:00
2026-09-12 08:25:54 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 14:27:29 -07:00
2026-09-13 05:08:20 -07:00
2026-09-13 05:08:20 -07:00
2026-09-03 09:44:26 -07:00
2026-09-05 00:24:40 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:21:02 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 14:44:38 -07:00
2026-09-13 15:41:01 -07:00
2026-09-06 14:53:33 +05:30
2026-09-10 11:48:01 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 19:19:32 -07:00
2026-09-09 21:16:40 +05:30
2026-09-04 20:24:24 -04:00
2026-09-13 19:19:32 -07:00
2026-09-13 05:07:50 -07:00
2026-09-09 04:38:01 -07:00
2026-09-07 07:11:36 -07:00
2026-09-12 06:13:44 -07:00
2026-09-11 15:28:37 -07:00
2026-09-13 05:07:11 -07:00
2026-09-03 14:21:32 -07:00
2026-09-03 14:21:32 -07:00
2026-09-12 18:35:21 -07:00
2026-09-11 03:45:33 +05:30
2026-09-07 05:56:33 -07:00
2026-09-11 06:37:27 -07:00
2026-09-11 19:50:46 -07:00
2026-09-13 21:30:02 -07:00
2026-09-04 20:24:24 -04:00
2026-09-13 20:55:29 -07:00
2026-09-13 20:55:29 -07:00
2026-09-13 05:07:11 -07:00
2026-09-09 02:36:00 -07:00