How to move a node between flows without deleting it and losing its unique ID

I am using an Alexa skill / node red contrib that provides virtual Alexa devices to Node Red.
It works wonderfully, but since it uses the node red node ID to create the virtual device in Alexa, if you need to move the node to another flow the whole process becomes rather tedious in terms of deleting the duplicate device and rediscovering it in Alexa.

Is there a way to move a node between flows that I am unaware of?

All I can think of is to move everything else out of the flow to another flow and rebuild around the device node.


There isn't a built-in way to move a node to a different tab and preserve its ID.

But you can achieve it by selecting the node, exporting its json to your clipboard (Ctrl-E), delete the node, then import its json on the other tab. This will keep the node's id intact.

1 Like

Is that a new feature of a recent version of Node-Red? I am running 1.1.3 and the node id changes when I try to export/import it.

Is a deployment essential at an intermediate stage? I'm sure I've tried it both ways.

Many thanks for replying!

The behaviour was changed in 1.2 to not generate new ids by default - Version 1.2 released : Node-RED

That's great! Thank you!

Lastly, could you point me at any notes or articles on hazards upgrading from 1.1.3 to 1.2? I haven't upgraded a "production" machine yet...

Thanks again!


The link I sent previously was the release blog post for 1.2 - it will cover any thing you need to be aware of.

We would always recommend testing the upgrade first - and make sure you have a good backup you can quickly restore in case something unexpected happens.

If you are going to upgrade, and don't want to move the current 2.x stream, we would also recommend you upgrade to the latest in the 1.x stream - 1.3.7.

Thanks Nick, you are a brilliant resource! Sorry to be such a noob, but are there any particularly scary aspects to going to 2.0? I feel another Raspberry Pi coming on...