Structured execution history for a durable workflow, returned by handle.exportExecution().

Events are chronologically ordered with sequential event_id values. Completed/failed events carry scheduled_event_id or initiated_event_id back-references to their corresponding scheduled/started events.

The summary provides aggregate counts by category (activities, child workflows, timers, signals) for quick dashboard rendering.

In verbose mode, children contains recursively fetched child workflow executions, each with their own events and summaries.

interface WorkflowExecution {
    children?: WorkflowExecution[];
    close_time: string;
    duration_ms: number;
    events: WorkflowExecutionEvent[];
    origin_id?: string;
    parent_workflow_id?: string;
    result: any;
    start_time: string;
    status: WorkflowExecutionStatus;
    stream_history?: StreamHistoryEntry[];
    summary: WorkflowExecutionSummary;
    task_queue: string;
    workflow_id: string;
    workflow_type: string;
}

Properties

children?: WorkflowExecution[]
close_time: string
duration_ms: number
origin_id?: string

Root ancestor of this execution; null for a root itself (identify roots via a null parent_workflow_id). Every descendant carries the same origin_id, so a subtree is recoverable in one query. Only present when the export was requested with include_lineage: true.

parent_workflow_id?: string

Upward lineage pointer to the real spawning workflow — never the synthetic collator $C job. null marks a root. Only present when the export was requested with include_lineage: true.

result: any
start_time: string
stream_history?: StreamHistoryEntry[]
task_queue: string
workflow_id: string
workflow_type: string