POST to the workspace URL you configure for training, evaluation, and benchmark run completion events.
Setup
Open Workspace Settings → Webhooks. Any workspace member can view the page and delivery history. Only owners and admins can edit the URL, turn delivery on or off, or send a test payload:- Enter your Webhook URL. It must use HTTPS on port 443 and resolve to a public address. URLs that point at private or internal networks are rejected.
- Turn on Deliver events and click Save.
- Click Send test payload to confirm your receiver gets a
webhook.testevent.
Events
Payload
Every request is aPOST with Content-Type: application/json and this envelope:
training_run.completed and eval_run.completed
The data object has the same shape for both events:
Training run example:
latest_metrics contains aggregate results instead:
benchmark_run.completed
Each object in
agents contains:
webhook.test
Delivery
- Each attempt times out after 5 seconds. Failed deliveries are retried up to 2 times with backoff.
- Retries can produce duplicate deliveries. For run-completion events, make processing idempotent using the pair
event+data.id. - Any 2xx response counts as delivered. Redirects are not followed.
- Delivery is best effort. A webhook delivery failure does not affect the run, and Osmosis does not guarantee that every event will reach your receiver.
- Every delivery is recorded with its final outcome in Recent Deliveries, so you can see what Osmosis sent and how your receiver answered.
Recent Deliveries
Workspace Settings → Webhooks lists every delivery from the last 30 days below the webhook form. Any workspace member can read the list; editing the webhook still requires an owner or admin. Each row shows:
Click a row to open the delivery. The Request tab shows the exact JSON body Osmosis sent. The Response tab shows the HTTP status and the first 2 KB of your receiver’s response body, or the transport error when no response arrived. Filter the list by event or status to find a specific delivery.
Test payloads sent with Send test payload appear in the list like any other event, so the fastest way to inspect a payload is to send one and open the row. Deliveries are kept for 30 days and then removed. Nothing is recorded while Deliver events is off, because no request is made.
Osmosis stores the first 2 KB of your receiver’s response body so you can debug failures. Do not echo secrets or other sensitive data in webhook responses.