Most steps in a workflow are API calls. A step can also run your own code, so a transform, a validation, or a piece of glue lives in the flow beside the calls it supports. That code is WebAssembly, the same substrate as every other plugin.
Where this fits
A logic step takes the data flowing through the workflow, does something with it, and passes a result to the next step. Because it is WebAssembly, it is sandboxed and capability-gated like any plugin: it gets only the network and filesystem access it declares.
Status
The model can already represent a workflow step that runs WebAssembly. A dedicated, documented interface for authoring those step plugins, and a runtime that executes whole workflows from the command line, is in active development. This page will grow as that interface lands.
In the meantime
If you need custom logic today, the most direct path is an exporter, which has a stable interface and the same WebAssembly sandbox. The technology page describes how the model and the engine handle workflow logic in more depth.