AWO Agentic Workflow Orchestrator Early access

Documentation · Reference

Errors, and how to fix them

AWO's errors follow one rule: say what happened, why, and the fix — in your words, not the machine's. And where the fix is a deterministic edit, the error carries a Fix it button that applies it for you: press it, watch the problem clear. This page lists the errors you're most likely to meet, in the words the Studio uses.

“This workflow can't work as written, so it wasn't started”

You pressed Start watching on a workflow AWO can prove will fail on every run. Rather than let it fail silently in the background, AWO refuses — quoting the first problem — and immediately runs Check for problems for you, opening the broken step's panel. The specific problem is one of the entries below, and if it has a Fix button, it's already on screen.

“…returns typed pieces, so ‘step.output.something’ will never exist”

What it means
A step downstream reads a field like read.output.mentioned, but the AI step has typed pieces switched on — so its answer lives under read.output.blocks, and the field you named can never appear. Usually this happens when a prompt asks the model for its own JSON shape and typed pieces is on: the two contracts fight, and typed pieces wins.
The fix — one click
Fix it — Check the pieces instead rewrites the check to “blocks is not empty” (for a condition), or points the reading at the pieces. Alternatively, switch typed pieces off on the AI step and its reply is one piece of text again.

“…replies with one piece of text, so ‘step.output.something’ will never exist”

What it means
The opposite case: a step reads a field of the AI's answer — judge.output.ticker — but the AI step has neither typed pieces nor parse-as-JSON on, so its whole answer is one piece of text. A field of a piece of text doesn't exist.
The fix — one click
Fix it — Read the whole reply changes the reading to the text itself. If you genuinely want separate fields — a ticker, a price, a verdict — turn on Return typed pieces on the AI step instead and route the pieces.

“This step reads ‘trigger.diff…’, which only a page-watching input produces”

What it means
The step reads a value the workflow's input never delivers. A page watch delivers what changed (trigger.diff.added); a webhook delivers what arrived (trigger.payload). Usually the input was changed after the steps were written and the old references stayed behind.
The fix — one click
Fix it — Read the pushed event (or Read what changed on the page, in the other direction) rewrites the reference to the value this input actually delivers.

“One thing is still a stand-in: the page to watch”

What it means
A template arrived with a placeholder for something only you can know — which page, which channel. The bar above the canvas counts them; watching is refused until they're answered, because a watcher pointed at a stand-in checks something that doesn't exist, forever.
The fix
Press the underlined name in the bar — the right box opens with the stand-in selected, so the next thing you type replaces it. (No auto-fix here: the value is yours to know.)

“This workflow expects a value called SOMETHING that this copy of AWO doesn't have”

What it means
The workflow was written to read a value from the computer it runs on — an environment variable, usually from a file somebody shared — and this machine doesn't have it.
The fix
Open the step that needs it and type the real value in its place. On the canvas this is a warning; starting a watcher with it is refused, because its first run could never succeed.

“This alert has nowhere to go”

What it means
The output step exists but no destination is chosen — nothing says dashboard, channel, or address.
The fix
Open the step and pick a card under Where should the result go? A dashboard always works with nothing to set up.

“‘/hooks/…’ is already receiving events for ANOTHER-WORKFLOW”

What it means
Two watchers want the same web address, and an address can only be listened to once. AWO names the one already holding it.
The fix
Stop the named watcher first, or give this workflow's input a different path.

“Couldn't post to Discord — the part after /webhooks/ is not a real id”

What it means
The Discord address is a stand-in that was never replaced, or was edited by hand.
The fix
Copy the whole URL from Discord (Server Settings → Integrations → Webhooks) and paste it in — or set it once in Setup and every workflow can use it.

“Couldn't reach the page” / “The page refused the request”

What it means
Couldn't reach: the site may be down or the address wrong; AWO keeps trying on schedule. Refused (403, 429, captcha): some sites block automated visitors.
The fix
Check the address first. For sites that block, switch the trigger's fetch mode to browser (render) mode, or bring your own proxy or fetch service under Advanced → Network. Checking politely matters too — five minutes is the floor for other people's sites.

Anything else

Press Check for problems — AWO inspects the whole workflow and lists everything, each in plain words with its fix. A run that failed names the exact step and shows what every step decided, in the Runs view and right on the canvas. And the Explain button will have your model walk through what the workflow does, if the shape itself is the confusion.

← The build guide · The glossary →