Skip to main content
Dust Apps are deprecated. Only Dust Apps created before October 2025 are accessible. The creation of new Dust Apps is deactivated. For building on top of Dust, see the Developer Platform.

Blocks

Dust Apps are composed of Blocks executed sequentially. Each block has a name, a type, a specification, and a configuration. Blocks can reference the outputs of previously executed blocks using their name. See Core Blocks for the full block reference.

Datasets

Datasets are collections of JSON objects used to:
  • Provide few-shot examples to llm blocks via prompts
  • Supply test inputs to input blocks during app design

Inputs and outputs

The input block is the entry point to a Dust App. It forks execution on each element of its associated dataset during design, and accepts API arguments at runtime. Every block produces an output accessible to subsequent blocks as env.state.<BLOCK_NAME>.

Running apps

Apps can be run:
  • In the Dust UI against a dataset for iterative design
  • By API by passing arguments to the input block (see the Developer Platform)

Execution model

Blocks execute sequentially. The map/reduce blocks enable parallel execution over arrays. The while/end blocks enable loops with a termination condition.