Workflow id is integer on one system, alphanumeric on another

Had a strange report from our team where it seems that creating a workflow on one system gives a url of /1 whereas creating a workflow on another system gives a url of /Hrs0w6sILGwBJ

the config is the same, the n8n version is the same (0.236)

this makes exporting and importing kinda … difficult … :slight_smile:

Anyone seen this ? Anyone have a clue ?

Hey @jmls,

Welcome to the community :tada:

We recently changed the IDs that we use so existing workflows will be numeric and new workflows will use NanoIds (the strings).

The idea of moving to the newer approach should make importing / exporting a bit easier as there is less of a chance the workflow id will already be in use.

1 Like

interesting. does that include credential ids ? So we could import credentials and keep the id ?

what is also confusing for us, is that these are new workflows … one in prod and one in dev … but prod has integer and dev has the nanoid

Sorry, and another thought … fi you use different credentials in dev and prod (same name) , but develop entirely in dev and export to prod, how does one manage the credentials link , without having to go to each workflow and modifying it in prod

Is it possible to grab credentials from a system like vault and pass them down the workflow , or grab them from vault from within the node itself ?

A lot to catch up on there :slight_smile:

Assuming both are on the same version when making a new workflow you should get the newer ID, If you are seeing the older style there could be an issue somewhere.

New IDs also apply to credentials, it is part of the ground work to enable the source control version that is coming soon that will allow you to move workflows, credentials and variables to a production instance from a test instance.

If you use different credentials with the same name you would still need to update the workflow manually as the credential to use is based on the ID not the name.

We have started work on a new feature that allow working with secret vaults but I have not seen much of that yet so am not sure how it will work.

Hmm, was thinking that I could use a “execute workflow” node to run a “slack” message (for example) - then multiple flows could use the same slack node, so a single change would affect all flows

Problem with this is if we export and import, the “slack” workflow will get overridden and use the imported creds from dev

Is there any way of marking a workflow as “do not import if already exists” ?

Hey @jmls,

There isn’t but this could be where the new source control feature comes in as you will have some more options over what you can do.