n8n: surface real per-workflow evidence on the integration status page

Fleet Ops integration status no longer depends only on a config
boolean or the most recent outbox event: N8nIntegrationStatus now
reports per-canonical-workflow evidence (last successful outbox
delivery for the return workflow, latest service-triggered
data_quality_scan_run for the scan workflow, latest
n8n_workflow_failure_registered for the error handler, and "not built"
for the still-blocked RAGcore sync), plus an error-handler summary
(total failures registered, latest failure + which workflow).

Automation page renders this as a localized workflow table (EN/NL/FR)
with technical workflow names tucked under a "Technical details"
disclosure, matching the existing progressive-disclosure pattern.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
NuklearRabbit
2026-08-04 16:15:09 +02:00
co-authored by Claude Sonnet 5
parent e39c0a1dd6
commit 4049c0c6b1
9 changed files with 320 additions and 2 deletions
+10
View File
@@ -17,3 +17,13 @@ export const MCP_STATE_META: Record<IntegrationStatus["mcp_hub"]["state"], { sta
not_configured: { statusClass: "not_configured", labelKey: "notConnected" },
configured: { statusClass: "no_events", labelKey: "prepared" },
};
// Maps the backend's canonical n8n workflow name (see n8n/workflows/MANIFEST.md) to a
// stable slug for localized display names in `integrations:workflows.names.*` — the
// backend name itself is a technical identifier, not something to show untranslated.
export const N8N_WORKFLOW_SLUGS: Record<string, string> = {
"Fleet Ops — Vehicle Return Orchestration": "vehicleReturn",
"Fleet Ops — Scheduled Data Quality Scan": "scheduledScan",
"Fleet Ops — RAGcore Procedure Sync": "ragcoreSync",
"Fleet Ops — Workflow Error Handler": "errorHandler",
};