From n8n to Azure Logic Apps, and back
A best-effort bidirectional converter, not a black box. Every node and action runs through one shared IR — what maps cleanly converts instantly, and anything else gets a Claude-suggested fix plus a clear manual-review report, never a silent guess.
Built for conversions you can trust
Capability matching, structured reports, credential placeholders, and live feasibility scoring — everything that makes a best-effort conversion actually dependable.
Capability-based registry
Nodes are matched by what they do, not just their type name — most steps map on the first pass.
Full coverage, both directions
Triggers, actions, expressions, and credentials — mapped n8n → Logic Apps and Logic Apps → n8n.
Structured review report
Every unmapped node and untranslatable expression lands in a report — severity, category, difficulty.
Growing connector registry
Azure Blob Storage, Wait/Delay, and more — matched by capability, with new ones added the same way.
Credentials, never invented
Every credential reference becomes a placeholder — reconnect it on the target platform, nothing is guessed.
Feasibility, scored live
Start at a deterministic baseline — the score climbs as Claude resolves each unmapped step.
"type": "Recurrence","recurrence": {"frequency": "Minute","interval": 5}
Real target-platform JSON
Not a summary — the actual Recurrence trigger, Http action, or n8n node, ready to import.
Review before you trust it
AI suggestions are marked and scored — reviewable, never applied silently.
The building blocks of a reliable conversion
From parsing the source workflow to a feasibility score — what makes an n8n ⇄ Logic Apps conversion trustworthy, not just plausible.
Bidirectional by design
One shared IR converts n8n → Logic Apps and Logic Apps → n8n through the same parsers and emitters — not two divergent one-way scripts.
Capability-based mapping
Nodes are matched by what they do, not just their name — an Azure Blob Storage node still maps to its Logic Apps connector.
Expressions, both directions
n8n's {{ $json.field }} and Logic Apps' @{body('Name')?['field']} translate directly; arbitrary code is flagged, never guessed.
Feasibility scoring
A 0–100 score and red/amber/green traffic lights on every step estimate how much manual work is actually left.
Nothing invented, everything flagged
Credentials are never fabricated. Every placeholder and untranslatable expression lands in a structured review report.
AI fills the gaps
Unmapped steps get a Claude-suggested equivalent automatically — clearly marked in the output, never silently blended in.
Claude handles the mappings
we haven't written yet
When a node or action has no registered mapping, Claude proposes a real target-platform equivalent automatically — clearly marked, merged into the output, and factored into the feasibility score.
Unmapped step detected
n8n-nodes-base.slack has no registered mapping
Registry + connector lookup
Checked capability-based mappings first
Asking Claude
Suggestion applied
Merged into output, marked __aiSuggestion
By the numbers:
Built-in node/action mappings
Secrets ever invented
Client-side conversion core
Convert, review, and ship
with confidence
Structured output, alwaysEvery conversion produces valid target-platform JSON plus a structured report — nothing silently dropped, nothing silently guessed.
Built on a few hard rules
Best-effort automatic conversion only works if you can trust what it did and didn't do. These are the constraints the converter never breaks.
Try the converterCredentials, secrets, and connection strings are never fabricated — every one becomes a placeholder with a flagged reconnection note.
Every unmapped node, untranslatable expression, and AI suggestion lands in a structured report with a severity, category, and difficulty rating.
Nodes and actions are matched by what they actually do, so an Azure Blob Storage node still finds its Logic Apps connector.
Credentials, secrets, and connection strings are never fabricated — every one becomes a placeholder with a flagged reconnection note.
Every unmapped node, untranslatable expression, and AI suggestion lands in a structured report with a severity, category, and difficulty rating.
Nodes and actions are matched by what they actually do, so an Azure Blob Storage node still finds its Logic Apps connector.
Credentials, secrets, and connection strings are never fabricated — every one becomes a placeholder with a flagged reconnection note.
Every unmapped node, untranslatable expression, and AI suggestion lands in a structured report with a severity, category, and difficulty rating.
Nodes and actions are matched by what they actually do, so an Azure Blob Storage node still finds its Logic Apps connector.
Credentials, secrets, and connection strings are never fabricated — every one becomes a placeholder with a flagged reconnection note.
Every unmapped node, untranslatable expression, and AI suggestion lands in a structured report with a severity, category, and difficulty rating.
Nodes and actions are matched by what they actually do, so an Azure Blob Storage node still finds its Logic Apps connector.
When Claude proposes a fix for an unmapped step, it's merged in with an __aiSuggestion marker — visible, never disguised as a native mapping.
n8n → Logic Apps and Logic Apps → n8n run through the same parsers and emitters — not two independent, drifting converters.
A 0–100 feasibility score and red/amber/green traffic lights estimate how much manual work is actually left, per step.
When Claude proposes a fix for an unmapped step, it's merged in with an __aiSuggestion marker — visible, never disguised as a native mapping.
n8n → Logic Apps and Logic Apps → n8n run through the same parsers and emitters — not two independent, drifting converters.
A 0–100 feasibility score and red/amber/green traffic lights estimate how much manual work is actually left, per step.
When Claude proposes a fix for an unmapped step, it's merged in with an __aiSuggestion marker — visible, never disguised as a native mapping.
n8n → Logic Apps and Logic Apps → n8n run through the same parsers and emitters — not two independent, drifting converters.
A 0–100 feasibility score and red/amber/green traffic lights estimate how much manual work is actually left, per step.
When Claude proposes a fix for an unmapped step, it's merged in with an __aiSuggestion marker — visible, never disguised as a native mapping.
n8n → Logic Apps and Logic Apps → n8n run through the same parsers and emitters — not two independent, drifting converters.
A 0–100 feasibility score and red/amber/green traffic lights estimate how much manual work is actually left, per step.