--- title: 'Emit Event' description: 'Raise a new OneHazel event that can trigger another workflow.' --- # Emit Event Publishes a new event into OneHazel's event stream. Any other workflow whose Event Trigger matches the emitted `eventType` will fire when this runs. ## When to use - You want one workflow to trigger another without coupling them directly. - You want to fan-out a single inbound event into multiple downstream workflows (one Event Trigger per consumer). - Emitting custom business events for analytics or audit. ## Configuration | Field | Required | What it does | |---|---|---| | `eventType` | Yes | The event type string downstream triggers will match on. | | `payload` | No | JSON object carrying the event data. Supports `{{...}}` refs. | ## What it outputs ``` { eventId: "evt_...", eventType: "...", emitted: true } ``` The emitted event is also persisted in the `events` table and is visible in the admin event viewer for auditing. ## Gotchas - Emitted events are processed by the workflow engine asynchronously. Downstream workflows may fire within a few seconds, not synchronously with this node's completion. If you need synchronous behaviour, have this workflow do the work directly. - **No dedup**: emitting the same `eventType` + payload twice fires downstream workflows twice. If you need exactly-once semantics, add an idempotency key to the payload and check it in the downstream workflow.