Webhooks
Webhooks let Vuon notify your systems the moment an automation run finishes, so you can post results into Lark, Slack, or any internal tool without polling.
Vuon sends one signed HTTP POST per event to every endpoint subscribed to that event type. You configure endpoints in Settings → Webhooks (organization admins only; the feature must be enabled for your organization).
Webhooks fire only for automation-triggered agent runs — runs started by a trigger rule or scheduled automation. Interactive chats never emit webhook events.
What fires when
Two event types ship today:
automation.run.completed— an automation-triggered run finished successfully. The payload carries a short text summary of the run and a permalink to the chat. (AnimageUrlfield is reserved for run images but alwaysnulltoday.)automation.run.failed— a run failed or was stopped before completing. The payload carries the failure reason; no summary or image.
See the event catalog for full payloads.
Delivery semantics
- At-least-once. A delivery may occasionally arrive more than once. Deduplicate on the
vuon-webhook-idheader, which is stable across retries of the same event. - No ordering guarantee. Events for different runs (or retries of the same event) can arrive in any order.
- Any 2xx response marks the delivery successful. Everything else — including redirects, which are never followed — counts as a failure and is retried.
Retry schedule
Failed deliveries are retried with exponential backoff over roughly 36 hours:
attempt 1 2 3 4 5 6 7 8
wait ~30s ~2m ~8m ~32m ~2h ~8.5h ~24h —
Eight attempts are made in total. Every retry sends the same vuon-webhook-id and payload with a fresh timestamp and signature.
Automatic disabling
After 5 consecutive events exhaust all retries against an endpoint, the endpoint is automatically disabled and the person who created it receives an in-app notification. Re-enable it with one click in Settings → Webhooks once your receiver is healthy; a successful delivery resets the failure counter.
Request format
Example webhook request
POST /your/webhook/path HTTP/1.1
Content-Type: application/json
vuon-webhook-id: evt_5c9b2f4a1e8d3b6a0f7c4d2e9a
vuon-webhook-timestamp: 1783102934
vuon-webhook-signature: v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd
{
"id": "evt_5c9b2f4a1e8d3b6a0f7c4d2e9a",
"type": "automation.run.completed",
"createdAt": "2026-07-10T14:22:31.000Z",
"data": { "...": "see the event catalog" }
}
Always verify the signature before trusting a request.
Requirements
- Endpoint URLs must use https and resolve to a publicly routable address. URLs pointing at private networks, loopback, or cloud metadata addresses are rejected at save time and again at send time.
- Respond within 10 seconds; slower responses count as failures. Acknowledge quickly and process asynchronously if your handler does real work.