Skip to main content

Webhook Events

The 53 events SOAT emits, grouped by the resource_type each carries. A webhook subscribes to them by exact name, by <prefix>.*, or to all of them with *.

Each event arrives as the envelope described in Webhooks → Event Payload: the name below is the event field and the X-Soat-Event header, the heading above each table is the resource_type field, and data carries the resource in the same shape the REST API returns it.

An orchestration emit_event node also emits events, under whatever name the template author chose. Those are not listed here — they are yours, not SOAT's — and they carry resource_type: orchestration_run.

agent

EventDescription
agents.createdAn agent was created.
agents.updatedAn agent was updated.
agents.deletedAn agent was deleted.

approval

EventDescription
approvals.createdAn approval request was raised and is pending.
approvals.approvedA pending approval was approved.
approvals.rejectedA pending approval was rejected.
approvals.expiredA pending approval passed its deadline unanswered.

audit

EventDescription
audit.entry_createdAn audit entry was recorded.

conversation

EventDescription
conversations.createdA conversation was created.
conversations.updatedA conversation was updated.
conversations.deletedA conversation was deleted.

conversation_message

EventDescription
conversations.message.createdA message was added to a conversation.
conversations.message.generatedAn assistant message was generated in a conversation.
conversations.message.deletedA message was removed from a conversation.

document

EventDescription
documents.createdA document was created.
documents.updatedA document was updated.
documents.deletedA document was deleted.
documents.ingestedA document finished ingestion and is indexed (status=ready); the payload carries the document plus its final chunk_count.
documents.ingest_failedA document ingestion settled in failure (status=failed); the payload carries the document plus the error reason (e.g. FILE_PARSE_FAILED, INGESTION_TIMEOUT).

eval_run

EventDescription
eval_run.completedAn eval run reached a terminal status with its items scored; carries the pass/fail verdict consumed by eval-gated promotion.
eval_run.failedAn eval run could not be executed to completion (infrastructure failure).

exception

EventDescription
exceptions.createdAn exception was filed.

file

EventDescription
files.createdA file was uploaded.
files.updatedA file was updated.
files.deletedA file was deleted.

generation

EventDescription
agents.generation.requires_actionAn agent generation paused for a client-side tool result.
agents.generation.completedAn agent generation completed.
agents.generation.failedAn agent generation failed.
generations.content_purgedA generation's content was redacted, leaving its auditable skeleton.
generations.chain_limitA continuation chain reached its generation budget and was refused.

guardrail

EventDescription
guardrail.tripwireA guardrail tripwire aborted a tool call.

orchestration_run

EventDescription
orchestration_runs.startedAn orchestration run started.
orchestration_runs.awaiting_inputAn orchestration run paused waiting for input.
orchestration_runs.succeededAn orchestration run succeeded.
orchestration_runs.failedAn orchestration run failed.

quota

EventDescription
quota.exceededA quota limit was exceeded.

session

EventDescription
sessions.createdA session was created.
sessions.updatedA session was updated.
sessions.deletedA session was deleted.
sessions.tags.updatedA session's tags were replaced.
sessions.generation.startedA session generation started.
sessions.generation.requires_actionA session generation paused for a client-side tool result.
sessions.generation.completedA session generation completed.

task

EventDescription
tasks.createdA task was created.
tasks.transitionedA task moved to a new state.
tasks.closedA task reached a terminal state.
tasks.stalledA task exceeded its stall threshold without progress.
tasks.approval_failedA task's approval gate was rejected or expired.
tasks.automation_retryingA task's automation is being retried.
tasks.automation_rejectedA task's automation rejected the task.
tasks.automation_unroutedA task matched no automation route.

trace

EventDescription
traces.content_purgedA trace's content was redacted, leaving its auditable skeleton.

usage_threshold

EventDescription
usage.threshold_crossedA usage threshold was crossed.