Why webhook‑triggered tests?
Part of Avido’s secret sauce is that you can kick off a test without touching your code.
Instead of waiting for CI or redeploys, Avido sends an HTTP POST
to an endpoint that you control.
Benefit | What it unlocks |
---|
Continuous coverage | Run tests on prod/staging as often as you like and automated. |
SME‑friendly | Non‑developers trigger & tweak tasks from the Avido UI. |
How it works
- A test is triggered in the dashboard or automatically.
- Avido POSTs to your configured endpoint.
- Validate the
signature
+ timestamp
with our API/SDK.
- Run your LLM flow using
prompt
from the payload.
- Emit a trace that includes
testId
to connect results in Avido.
- Return
200 OK
– any other status tells Avido the test failed.
Payload example
{
"testId": "123e4567-e89b-12d3-a456-426614174000",
"prompt": "Write a concise onboarding email for new users."
}
Headers:
Header | Purpose |
---|
x-avido-signature | HMAC signature of the payload |
x-avido-timestamp | Unix ms timestamp the request was signed |
Verification flow
If validation fails, respond 401 (or other 4xx/5xx). Avido marks the test as failed.
Code examples
curl --request POST --url https://api.avidoai.com/v0/validate-webhook --header 'Content-Type: application/json' --header 'x-api-key: <api-key>' --data '{
"signature": "abc123signature",
"timestamp": 1687802842609,
"body": {
"testId": "123e4567-e89b-12d3-a456-426614174000",
"prompt": "Write a concise onboarding email for new users."
}
}'
Next steps
- Send us Trace events.
- Schedule or manually tasks from Tasks in the dashboard.
- Invite teammates so they can craft evals and eyeball results directly in Avido.
Responses are generated using AI and may contain mistakes.