Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Framework Guides

How each automation framework maps onto the Universal Workflow IR, and the practical differences that matter when importing, exporting, or repairing workflows across frameworks.

For the current support level of each framework, see docs/supported-frameworks.md.

n8n

Status in this repo: initial source library. The bulk of the indexed workflows are n8n.

  • File shape: single JSON document; nodes in nodes[], edges in connections{}.
  • Trigger detection: look at nodes with type starting n8n-nodes-base.<trigger> — typical triggers are webhook, cron, manualTrigger, interval, emailTrigger.
  • Credentials: node-level credentials block referencing a credential ID, not the secret itself. Inline secrets in parameter values are a bug — see n8n-credentials-inline.
  • Code execution: n8n-nodes-base.code and n8n-nodes-base.function. Both should be flagged during audit.
  • IR mapping notes: n8n's connections graph maps onto IR steps[].next with one entry per downstream output. Multi-input nodes need merge-step nodes in the IR.

Dify (planned)

  • File shape: YAML or JSON exported from the Dify app; nodes include LLM blocks, knowledge retrieval, and tool calls.
  • IR mapping notes: Dify's "blocks" are closer to IR steps 1:1, but variable scoping is global by default — needs explicit conversion to scoped IR inputs/outputs.

LangGraph (planned)

  • File shape: code, not a static workflow file. Importing means parsing the graph construction at module load, not just reading JSON.
  • IR mapping notes: edges are conditional functions in Python; the IR needs to capture the condition, not just the next-node target.

Node-RED (planned)

  • File shape: flows.json — a flat list of nodes with wires[] describing connections by node id.
  • IR mapping notes: subflows are first-class in Node-RED but not in n8n; the IR needs a subworkflow step kind for fidelity.

Make / Zapier / Pipedream (planned)

  • These platforms are largely closed; importing involves either exported JSON (Make), published action plans (Zapier MCP), or component manifests (Pipedream).
  • IR mapping notes: trigger semantics differ — Zapier "Zaps" are single-trigger by definition, Make "Scenarios" can be more graph-like.

Airflow / Temporal (future research)

  • These are workflow engines for long-running, durable jobs rather than event-driven automation. Mapping is interesting but not the priority — they belong to a different class of problem (data pipelines, durable execution).

Honest note. Only the n8n entry above is backed by concrete code in this repo today. The rest describe how the IR is intended to extend. Do not assume framework support exists until an importer for that framework lands under tools/.