For the complete documentation index, see llms.txt. This page is also available as Markdown.

Developer Guide

Reference for developers extending Workflows - the pillars of the ecosystem, the Definition language, the Compiler and Execution Engine, kinds, and how to write your own blocks.

This section is for people who extend Roboflow Workflows rather than only build with them: block authors, plugin maintainers, and anyone integrating the Workflows Execution Engine into their own application.

If you just want to build and run a Workflow in the browser, start with Create a Workflow and Build a Workflow instead.

The pillars of Workflows

Several components work together to power a Workflow. Some you interact with daily, others run behind the scenes.

  • Workflows UI - the visual editor where you design and manage Workflows. It is not strictly required, but it is the fastest path from idea to a working Workflow. At the end of the design process it produces the Workflow Definition that the Compiler and Execution Engine consume.

  • Workflow Definition - an interchangeable JSON document that acts as a program written in the Workflows language. It separates the design of a Workflow from its execution: author it once, then run it in any environment. It declares inputs (images or configuration parameters), steps (instances of blocks, wired to inputs or to other steps' outputs), and outputs (named fields that reference step outputs).

  • Workflow blocks - modular components that perform a specific operation. To a Workflow author they are black boxes with declared inputs, configuration properties, and outputs. Blocks are grouped into plugins, which are ordinary Python libraries. Roboflow ships its own plugins and the community can publish theirs.

  • Compiler and Execution Engine - the systems that translate a Definition into a computation graph and then run it. Much like a compiler for a traditional language, they check correctness up front and then do the heavy lifting at runtime. They ship with the Inference Server and the inference Python package.

Building a Workflow in the Roboflow editor

Core concepts

  • Workflow Definition syntax - the JSON language: version marker, inputs, steps, selectors, and outputs

  • Workflow execution - batch-oriented data, scalars, dimensionality levels, conditional execution, and how outputs are constructed

  • Kinds - the Workflows type system that makes connections between blocks verifiable at compile time

  • Data representations - the Python types your block actually receives: Batch, WorkflowImageData, VideoMetadata

Under the hood

Building blocks

Operating Workflows

Last updated

Was this helpful?