---
title: World SDK
description: Low-level API for inspecting and managing workflow runs, steps, events, hooks, streams, and queues.
type: overview
summary: Access workflow infrastructure via await getWorld() for building observability dashboards, admin tools, and custom integrations.
keywords:
  - getWorld
  - World SDK
  - workflow runtime
  - observability dashboard
  - admin panel
  - workflow management
prerequisites:
  - /docs/api-reference/workflow-runtime/get-world
---

# World SDK



The World SDK provides direct access to workflow infrastructure (runs, steps, events, hooks, streams, and queues). Use it to build observability dashboards, admin panels, debugging tools, and custom workflow management logic.

```typescript lineNumbers
import { getWorld } from "workflow/runtime";

const world = await getWorld(); // [!code highlight]
```

## Interfaces

<Cards>
  <Card href="/docs/api-reference/workflow-runtime/world/storage" title="Storage">
    Query runs, steps, hooks, and the underlying event log.
  </Card>

  <Card href="/docs/api-reference/workflow-runtime/world/streams" title="Streams">
    Read, write, and manage real-time data streams for workflow runs.
  </Card>

  <Card href="/docs/api-reference/workflow-runtime/world/queue" title="Queue">
    Low-level queue dispatch (internal SDK infrastructure).
  </Card>
</Cards>

<Callout type="info">
  The World SDK is the low-level foundation that higher-level functions like [`getRun()`](/docs/api-reference/workflow-api/get-run) and [`start()`](/docs/api-reference/workflow-api/start) are built on. Use it when you need capabilities beyond what those functions provide.
</Callout>

## Data hydration

Step input/output data is serialized using the [devalue](https://github.com/Rich-Harris/devalue) format. To display this data in your user interface (UI), use the hydration utilities from `workflow/observability`:

```typescript lineNumbers
import { hydrateResourceIO, observabilityRevivers } from "workflow/observability"; // [!code highlight]

const step = await world.steps.get(runId, stepId);
const hydrated = hydrateResourceIO(step, observabilityRevivers); // [!code highlight]
console.log(hydrated.input, hydrated.output);
```

See [`workflow/observability`](/docs/api-reference/workflow-observability) for the full API.


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)