> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blobhub.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Execution Events

> Definitions for real-time tracking events emitted during a Workflow Execution.

When a Workflow Execution is actively streaming or polling, the engine emits real-time **Execution Events**. These events provide microsecond-level visibility into exactly what path the execution took, the variables it processed, and the success or failure of individual processors.

## Shared Event Format

All Execution Events conform to the following base JSON structure:

```json theme={null}
{
  "id": "uuid-event-id",
  "revision_id": "uuid-workflow-revision",
  "session_id": "uuid-active-session",
  "execution_id": "uuid-specific-execution-run",
  "created_at": "2026-05-28T12:00:00.000000Z",
  "type": "event_type_string",
  
  // Optional Fields
  "message": "Human readable log message", 
  "attributes": { 
    // Event-specific generic properties tracking state
  },
  "data": { 
    // Tracking reference ID internally 
    "data_id": "uuid-data-reference"
  }
}
```

## Flow Events

Flow events dictate high-level state changes of the execution thread itself.

### `flow.entered`

Fired when an execution fundamentally boots up and locates the start node.

```json theme={null}
{
  "type": "flow.entered"
}
```

### `flow.exited`

Fired when an execution successfully reaches a terminal endpoint or cleanly loops out without an error.

```json theme={null}
{
  "type": "flow.exited"
}
```

### `flow.error`

Fired when an execution encounters a fatal exception, dead-end, or catastrophic failure crashing the active loop.

```json theme={null}
{
  "type": "flow.error"
}
```

## Processor Events

Processor events provide component-level logging and profiling metrics. They contain an `attributes` map heavily populated with IDs letting you trace visually.

### `processor.entered`

Fired when the execution engine yields control to a specific component.

```json theme={null}
{
  "type": "processor.entered",
  "attributes": {
    "processor_id": "uuid-component-id-from-definition",
    "processor_type": "genai.chat.openai",
    "processor_name": "ChatGPT Node"
  }
}
```

### `processor.exited`

Fired immediately after a component relinquishes control, documenting the exact time it took and what path consequence it chose.

```json theme={null}
{
  "type": "processor.exited",
  "attributes": {
    "processor_id": "uuid-component-id-from-definition",
    "route": "success", // Which branch was selected by the component dynamically.
    "runtime": 145000 // In microseconds
  }
}
```

### `processor.error`

Fired explicitly if a component crashes natively rather than gracefully resolving a failure route.

```json theme={null}
{
  "type": "processor.error",
  "message": "Traceback or exception summary string",
  "attributes": {
    "processor_id": "uuid-component-id-from-definition"
  }
}
```

### `processor.output`

Informational or debug logs injected manually by internal modules (like the `logic.code` component posting custom output events).

```json theme={null}
{
  "type": "processor.output",
  "message": "Processed 54 tokens successfully.",
  "attributes": {
    "processor_id": "uuid-component-id-from-definition"
  }  
}
```
