Unknown step type(s): [...]. Re-pick from the step palette.
A step in your definition names a step type that is not in the registry. This usually means the workflow was authored against an older build, or was imported from somewhere.This error fires on draft saves too, not just publish, because the builder cannot render a config form for a step it does not recognize.Fix: delete the offending step and re-add it from the palette.
A required input is not set
Publishing requires every required field on every step to be either literally filled in or bound to an upstream output.Draft saves deliberately allow blanks, so this only appears when you try to publish.Fix: open the flagged step and either type the value or use the upstream-output picker.
A reference points at a step or field that does not exist
A {{ step_x.field }} reference names either a step that is not upstream of the referencing step, or a field that step does not actually emit.The usual cause: you deleted or reordered an upstream step and did not re-wire the downstream one. Draft saves tolerate the dangling reference so you do not lose work mid-edit; publish does not.Fix: re-bind the field with the picker, which only offers fields the source step really emits.
Routes to step '...' which no longer exists
A branch target names a deleted step.Fix: open the Branching panel on that step and pick a live target.
Routes to '...', which runs before this step (or is this step)
A branch target is at or before the branching step. The executor walks the chain in order, so that target could never fire.Fix: pick a target that is strictly downstream, or move the branching step earlier.
Step '...' cannot be used inside a loop. Move it outside the loop body.
You selected a nested loop, or a side-effect step such as Save to Matter, as the inner step of a Loop Over Documents.This is refused at config time rather than at run time so you find out in the builder instead of after an N-times side effect has already fired.Fix: move the step out of the loop body and run it once on the loop’s results.
A retrieval step returns nothing right after an upload
Freshly uploaded documents have to be chunked, embedded, and indexed before retrieval can see them. A retrieval step that runs immediately after an upload finds an empty index.Fix: insert a Wait For Document Ingestion step between the upload and the first retrieval step. It blocks until processing finishes, with a configurable timeout up to 30 minutes.
Build and Run Matrix reports truncated: true
Polling hit the time cap before every cell finished. The matrix itself keeps filling; the step just stopped waiting.Fix: open the Matrix surface to see the completed cells, and reduce the document count or the column count if you need the step itself to complete within the cap.
A loop reports failures but the run succeeded
Continue on error is on by default. Individual document failures are recorded and the loop keeps going, so the run completes with a non-zero Failed count.Fix: check the loop step’s per-iteration results to see which documents failed and why. Turn continue-on-error off if you would rather the whole loop fail fast.
The agentic step stopped early
Check Stopped Reason on the step output. Hitting the maximum-steps cap is different from finishing.Fix: raise the maximum steps, up to 10, or narrow the goal so fewer research rounds are needed.
A run cost far more than the estimate
Estimates use the median historical cost per step type in your organization. A step type with no history falls back to a coarse per-tier rate, and any step the estimator could not price is listed as uncounted.Fix: read the per-step breakdown, which labels each line as history-based or fallback. Estimates get sharper as your org accumulates runs.