Skip to main content

Webhook Events

The 62 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.

decision​

EventDescription
decisions.completedA decision settled with its answers; the payload carries the decision, answers included.
decisions.failedA decision settled without answers; the payload carries the decision and its error.

document​

EventDescription
documents.createdA document was created.
documents.updatedA document was updated.
documents.deletedA document was deleted.
documents.withdrawnA document was withdrawn: it leaves listings and knowledge search, its chunks are dropped from the index, and the withdrawal is recorded as a version. It stays readable by id and can be restored.
documents.restoredA withdrawn document was restored from an earlier version: its content is re-chunked and re-indexed, and it returns to listings and knowledge search.
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.

memory​

EventDescription
memories.retractedA memory was retracted: the fact stopped holding with nothing replacing it, so it leaves knowledge search, dedup and the default listing. It stays readable by id, with its assertions.

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.

project​

EventDescription
projects.pausedA project was paused: nothing new starts in it, and the runs and tasks it had in motion park at their next checkpoint.
projects.resumedA project was resumed: the runs and tasks its pause held are handed back, and its schedules fire again.

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.pausedA task's automation was paused by an operator.
tasks.resumedA task's automation was resumed.
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.