Migrate from Node-RED to Heym

Move Node-RED flows to Heym. Paste an exported flow JSON, watch AI Convert rebuild each node on a live canvas, then run it on your own infrastructure.

Node-RED describes itself as a flow-based programming tool where nodes are wired on a canvas and pass messages to one another, widely used for event-driven and device integration work.

When it is worth moving a workflow

Node-RED already thinks in graphs, so the move is rarely about the shape of the work. It is about what the graph now has to contain: an agent that chooses tools, retrieval over internal documents, a reviewer in the middle, and a record of what each model call cost. Those arrive as first-class nodes here rather than as function nodes calling an API.

If you are still deciding rather than moving, the Heym and Node-RED comparison covers the evaluation side with links to first-party documentation.

How the move works

  1. 1

    Export from Node-RED

    Select the flow in the Node-RED editor, use Export from the menu to copy the flow JSON, and paste it.

  2. 2

    Paste it into AI Convert

    A safety check runs, then each construct is mapped to the closest native Heym node and streamed onto a live canvas while you watch.

  3. 3

    Review, download, and import

    Read the rebuilt workflow, download or copy it, import it into your own instance, and attach your credentials.

Convert a Node-RED workflow now

What each Node-RED concept becomes

A reviewer's guide to the rebuilt workflow. Constructs without an exact equivalent are mapped to the closest Heym primitive, which is why the result is worth reading before it handles real traffic.

In Node-REDIn HeymWhat changes
Flow (a tab)WorkflowOne tab becomes one workflow, and the wires become canvas edges.
Inject nodeInput node or Cron nodeA manual inject becomes the Input node; a repeating inject becomes a cron expression.
HTTP In and HTTP ResponseWorkflow webhook trigger and Output nodeThe request entry point becomes a property of the workflow rather than a node, so the URL is new.
Function nodeCode nodeFunction nodes are JavaScript; the Heym Code node runs sandboxed Python, so these are rewritten rather than copied.
Switch nodeSwitch nodeRule-based routing carries over, with each rule becoming a labelled outgoing edge.
Change nodeSet nodeSetting, moving, and deleting message properties becomes field assignment with expressions.
Template nodeSet node with expressionsString templating becomes an expression in a field rather than a separate node.
SubflowExecute nodeA subflow becomes a sub-workflow, which an agent can also invoke as a tool.
Link in and Link outCanvas edges and the Execute nodeJumps within a flow become direct edges; jumps across flows become sub-workflow calls.
Catch and Status nodesError Handler nodeError routing becomes a branch you wire, with a workflow-level error workflow catching anything without one.
Flow and global contextVariable nodeValues that outlive a single node become variables scoped to the run or persisted globally.
msg.payload referencesExpression DSL, for example $nodeName.fieldA single travelling message becomes named node outputs, which is the biggest conceptual change in this move.

Check these before it goes live

  • Rethink anything that relied on one msg object travelling through the flow. Heym addresses each node output by name instead.
  • Read every converted function node. JavaScript became Python, and this is where behavior differences hide.
  • Update the HTTP endpoint URL anywhere a device or service posts into the flow.
  • Confirm context values landed as variables with the right scope.
  • Run one test execution and compare the output against a recent run on the source side.

Node-RED migration FAQ

Can AI Convert read a Node-RED flow export?

Yes. Paste the exported flow JSON into AI Convert. Node-RED translates well because both tools are graphs of wired nodes rather than linear step lists.

What replaces the msg object?

Named node outputs. Instead of one message mutating as it travels, each node produces an output you reference by node name, for example $httpNode.body. It is the main thing to re-read after a conversion, because a flow that repeatedly overwrote msg.payload becomes several distinct references.

Do my credentials come across?

No, and that is deliberate. Exported workflow files hold no API keys or secrets, so AI Convert rebuilds the structure only and you attach your own credentials in the Heym Credentials tab afterwards. Nothing copies a secret between two systems on your behalf.

Is the converted workflow ready to run?

Treat it as a reviewed starting point rather than a finished port. Open it on the canvas, attach credentials, run one test execution, and adjust any node that was mapped to the closest Heym primitive rather than an exact equivalent.

Can I run the result on my own infrastructure?

Yes. Heym is source-available under an MIT license with a Commons Clause and runs on your own servers with Docker or Kubernetes, so migrated workflows, their credentials, and their model calls stay inside your environment.

Moving from something else

AI Convert reads exports from 12 tools, and it also accepts a plain description of the automation when there is no file to export.