Webhooks are not registered from the external API: they are configured in the platform (or with the Omniloy team) and attached to a protocol version. This page documents the events you will receive and how they are delivered.
Events
Payloads
The payload is built per event and includes the run and protocol context. Abbreviated examples:run.status_changed:
question.answered:
Payloads do not include patient personal data unless the event explicitly requires it (e.g.
number.to_verify, which carries patient_id and phone). To link a run to a patient, join on run.enrollment_id.Authentication to your endpoint
OlivIA does not sign the body with HMAC. Instead, each webhook authenticates against your endpoint with the credentials you configure. Options:
Secrets are encrypted at rest (AES-256-GCM) and shown masked. Protect your endpoint by validating these credentials.
Delivery and retries
- Best-effort delivery; every attempt is recorded.
- Configurable retries:
max_retries(0–10) andtimeout_ms(100–60000, default 10000). - Retried on network errors, timeouts, and
5xxresponses. Not retried on4xx. Redirects are not followed.