conversation.turn.completedAn assistant turn completed and its usage and citation count were recorded.
Developer platform
The catalog below lists events emitted by the current production code path. Event access still depends on plan, permissions, and the configured subscription filter.
Event catalog
Use an exact event name, a namespace wildcard such as workflow.*, or * for all available events.
conversation.turn.completedAn assistant turn completed and its usage and citation count were recorded.
document.indexedA document finished indexing and is available to configured retrieval surfaces.
document.indexing.failedA document indexing job reached a failed state.
workflow.approval.requestedA workflow paused because a configured human approval is required.
workflow.approval.decidedA reviewer approved or rejected a pending workflow approval.
workflow.run.completedA workflow run reached a successful terminal state.
workflow.run.failedA workflow run reached a failed terminal state.
workflow.run.cancelledA workflow run reached a cancelled terminal state.
billing.invoice.paidA workspace invoice was confirmed paid.
billing.invoice.payment_failedA workspace invoice payment failed and entered the applicable billing flow.
billing.subscription.createdA billing subscription was created.
billing.subscription.updatedA billing subscription changed.
billing.subscription.cancelledA billing subscription was cancelled.
webhook.testA user requested a test delivery from the webhook administration surface.
Receiver contract
Deliveries are JSON POST requests. Return a 2xx response only after the receiver has durably accepted the event.
{
"id": "evt_...",
"type": "workflow.run.completed",
"tenantId": "...",
"createdAt": "2026-07-27T00:00:00.000Z",
"data": { "...": "event-specific fields" }
}Compute HMAC-SHA256 over <timestamp>.<raw-body> with the subscription secret, compare it in constant time, reject stale timestamps, and deduplicate by event identifier.
X-AIDevPortal-EventEvent typeX-AIDevPortal-Event-IdStable event identifier for receiver deduplicationX-AIDevPortal-TimestampUnix timestamp used in the signed messageX-AIDevPortal-SignatureHMAC-SHA256 signature in v1=<digest> formatFailure handling
A receiver timeout is 10 seconds. Failed deliveries use exponential retry delays capped at 24 hours and retain delivery records for inspection.
Non-2xx responses and network failures are recorded with status, latency, and a bounded response snippet. Retry scheduling is asynchronous so it does not block the originating product action.
Authorized workspace operators can inspect deliveries and replay an individual delivery or a bounded time window. Receivers must remain idempotent because a replay intentionally sends an event again.
Webhooks are available only on eligible plans. Target URLs are subject to outbound network safety checks, and subscription secrets are shown only through controlled creation or rotation flows.