Skip to content

Events overview

Everything the pipeline does emits a structured event — a run starting, a stage completing, a PR opening, a circuit breaker tripping. Around 80 event types flow through one dispatch system, and you subscribe to them in one of two ways.

Event types are dotted strings, grouped by domain:

DomainCovers
pipeline.*A single run: lifecycle, stages, agents, beads, git, tests, review, cost, hooks.
control.*Inbound control signals — pause / resume / abort a run from outside.
fleet.*Fleet-level lifecycle across a fan-out.
workspace.*Workspace-level lifecycle, tiers, integration tests, umbrella issue.

The complete catalog is in the Events reference.

Every event is wrapped in a consistent envelope, so a subscriber can route on event_type and dedupe on event_id without parsing the payload:

{
"schema_version": 1,
"event_id": "<uuid>",
"event_type": "pipeline.run.completed",
"timestamp": "2026-05-21T14:32:01.123Z",
"run_id": "<run_id>",
"pipeline": { /* run context */ },
"payload": { /* event-specific fields */ }
}
MechanismBest forConfigured in
WebhooksProgrammatic integrations — CI, dashboards, paging, custom automation. Optional HMAC signing; can even pause/abort a run from the response.Settings → Webhooks panel (writes worca.webhooks in settings.json).
Chat integrationsHuman notifications in Telegram, Discord, Slack, or a generic webhook.Integrations panel (writes ~/.worca/integrations/config.json).

Webhooks deliver the raw event to any URL. Chat integrations render a curated subset of events into readable chat messages.