New central "Fleet Ops — Workflow Error Handler" workflow (Error Trigger -> safe-report Code node -> POST to the new /workflow-error endpoint), wired as the Error Workflow on both existing workflows with no recursive loop on itself. Live-validated end-to-end against the real Fleet Ops server (register + idempotent re-register), and via a genuine induced failure on the scheduled-scan workflow (broken URL, confirmed failure, reverted, confirmed healthy). Fixed two real bugs found during live testing: Code node needed "Run Once for Each Item" (not "All Items") for $json binding, and every HTTP body field had a stray trailing space from the n8n code-editor's bracket auto-close that broke datetime/enum validation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
n8n workflows
Canonical, live-validated workflow definitions live under n8n/workflows/. Each file is a
cleaned export (secret values replaced by named-credential references, never literal
tokens) of the workflow actually running on https://n8n.itworx.tech. See
n8n/workflows/MANIFEST.md for the authoritative list: canonical name, purpose, trigger,
required credentials, live workflow ID, active status and a checksum of each file.
The two pre-integration starter files that used to live directly under n8n/
(mobilityops-return-processing.json, mobilityops-scheduled-quality-scan.json) have been
retired — they predate the live n8n validation pass and embedded the service token as a
literal header value instead of a Header Auth credential. Do not resurrect them; the
n8n/workflows/ versions are the superseding source of truth and are what
deploy/unraid/setup-existing-n8n.sh / setup-scheduled-scan.sh import.
Deploying a workflow from these files into a fresh or existing n8n instance still requires a
one-time manual step: create the named Header Auth credentials in the n8n UI (see each
workflow's credentials block and the manifest) before publishing. This is deliberate —
credential values are never committed to the repository.