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 underread.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
“
blocksis 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.