Skip to main content
Webhooks notify your systems when supported runs reach a terminal state. Osmosis sends a JSON POST to the workspace URL you configure for training, evaluation, and benchmark run completion events.

Setup

Open Workspace Settings → Webhooks (owners and admins only):
  1. 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.
  2. Turn on Deliver events and click Save.
  3. Click Send test payload to confirm your receiver gets a webhook.test event.
Turn off Deliver events to pause deliveries without losing the URL. To remove the webhook, clear the Webhook URL and click Save.

Events

Payload

Every request is a POST 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:
For evaluation runs, 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.

Security

Webhook requests are currently unsigned, so the payload alone does not prove that a request came from Osmosis. Use a dedicated, high-entropy HTTPS URL that is not published elsewhere, validate the JSON schema and expected event values before processing, and apply the idempotency rule above. Do not trigger privileged actions solely from unvalidated payload fields. If signed authentication is required, place the webhook behind a gateway you control and enforce your own receiver policy.
Last modified on August 10, 2026