Arranging workflows in folders

+1 for adding folders, don’t understand why you guys are not prioritizing this… This feature request has more upvotes than feature request 2 and 3 combined. Please take this request serious as it is really hard to work with n8n if you have a lot of workflows :pray:

1 Like

Hey all. I’m coming with amazing news: We’re finally working on making folders a reality in n8n.

To make sure we’re building them in the right way, I’d love to talk to some of you to learn more about where you need them, how you expect them to work in details and much more.

Please send a DM to me if you’re interested in jumpin on a quick 20min call to talk about folders :). Looking forward to hearing from you!

8 Likes

Folders Structure:

  • Lists
  • Grids

Define colors per folder.

Order by Name, Date Modified.

Show how many folders or workflows are inside a folder.

Drag and Drop functionality, workflows inside folders and folders inside other folders.

2 Likes

What a good news, by the way do you guys need a developer by any chance :slightly_smiling_face:

1 Like

This is great news! One of the biggest gripes of my team and a top excuse for the team wanting to move to competitors. I can only hold them off so long :slight_smile:

We’re trying to be as fast as possible :smiley:

1 Like

Another +1 from here.

Here is an example of Automa where part of the WorkFlows are grouped. In addition to organizing all the WorkFlows into folders.


Also:
N8n could have an object to integrate with https://www.automa.site, Automa has a lot of synergy with the N8n project. Today it is possible to run Automa → N8n, but not the other way around N8n → Automa. Although it is for reasons of Automa not having Webhook/Similar.

Hello @Niklas_Hatje thank you for the amazing work you are doing everyday to enhance n8n.

For which quarter do you think the permission and folder features will be released?
Thank you

@LucBerge we aim to still release it this quarter. Just to be sure though: We don’t intent to add an additional permission level to folders (for now). Permissions will continue to be part of projects :slight_smile:

3 Likes

I would like to share our experiences with you here and perhaps the n8n team can also take this up.

We have been dealing with the organization of our more than 200 workflows, which are distributed across 5 servers, for some time now. We currently use Baserow for this.

  • No UI needs to be programmed.
  • Attributes can simply be added.
  • New servers can be added without restriction.
  • Automation (partly AI supported) via “Baserow” button.
  • Filter workflows as required by the user.

There are almost no restrictions for the user on how they want to manage the workflows. None of this would be possible under a folder structure.

Synchronization is also set up very quickly using n8n-hooks (afterUpdate & delete). Unfortunately, there is no afterCreate hook. The hooks call n8n webhooks :wink:

What we would still be missing from n8n (we currently do this manually):

  • An afterCreate hook (otherwise the configuration cannot be read from the database)
  • Which additional node packages are used in the code nodes? (Self-hosted incl. manually installed node packages)
  • In which workflows are there obsolete n8n nodes and which nodes are affected?
  • Generation of n8n workflows via AI

The management of the n8n webhooks has also improved significantly as a result. Central administration, grouping by service, deactivate/activate (the webhooks check the baserow entry), manage rights per webhook (we currently use Google Firebase Auth) and in some cases backend code or ajv schemas (checking user body/query entries) can be generated via AI.

1 Like

Hi,
Thank you for sharing your approach! It sounds like you’ve developed an advanced setup using Baserow to organize and manage your workflows with n8n, and I’d love to learn more about how you’ve made this work so smoothly.

Could you please provide additional details or a step-by-step example? I’m especially interested in understanding how you coordinate n8n and Baserow:

  • Could you explain which webhooks you’ve set up, where they’re placed, and the overall structure of your pipeline? For example, what steps do you follow from the moment a new workflow is created in n8n to adding it in Baserow, and finally to making it available to end-users?
  • Additionally, could you share some insights into how you’ve structured your dashboard in Baserow for organizing these workflows and handling user-specific needs?

Regarding the hooks, it would be helpful to understand how you handle the absence of the afterCreate hook. Do you have a workaround for this, or is it something you manually monitor?

Also, I noticed you mentioned a Baserow button with AI-supported automation. Could you share more about how this AI feature works and how it integrates with your setup?

Thank you so much for your time and expertise – these insights would be incredibly helpful in recreating a similar setup!

Best regards,
Nico

Hey @Nicolas_M,

Unfortunately, I don’t have much time to go into detail here. One thing to keep in mind is that our n8n instances are not set up for users but for the full and partial automation of our work processes. The management of workflows is the responsibility of the administrators and developers. In Baserow, the administrators create the views they need for themselves, or they can just add new columns (the added columns are not synced with the n8n database).

Here is an excerpt from our Baserow table for managing our workflows/webhooks:

The AI ​​assistants are managed in a separate table. This allows us to use different assistants for the same task depending on the situation.

Here, I simply set up a corresponding workflow in n8n, see an example workflow for generating an ajv object:

The webhook URL (unfortunately, only GET is possible) is linked in Baserow as a function/button > press the button > enjoy AI features in Baserow.

Baserow-Button:

button(field('n8n URL for Assisten: ajv'), '✨ Generate ajv')

To close the page after response:

<!DOCTYPE html>
<html>
<head>
    <title>Close Window</title>
    <script type="text/javascript">
        function closeWindow() {
            window.close();
        }
        // Delay the closure a bit to ensure the page loads.
        setTimeout(closeWindow, 0);  // Adjust the timing as needed.
    </script>
</head>
<body>
    <p>The window will close shortly...</p>
</body>
</html>

Regarding syncing the n8n database with its workflows and a Baserow database, you can certainly take the route via n8n hooks, which requires a bit of programming. Alternatively, you can simply set up a cron job or a webhook in n8n (with a button for that in Baserow) and synchronize data through that—it’s easier to maintain.

I solved the problem with the afterCreate hook using the afterUpdate hook. The workflow is not reachable upon creation, but it is after the second save. There is still the issue that occasionally a timeout occurs, which can be resolved through retries. The hooks send their data to a webhook from n8n, which then saves the data in Baserow or performs a complete update of the Baserow table.

async function afterUpdate({
  name,
  nodes,
  pinData,
  connections,
  active,
  settings,
  versionId,
  meta,
  id,
  retry = 0
}) {
  try {
    console.log(`Update workflow ${name} #${id}: ${new Date().toLocaleString('de-DE')} UTC // Retry: ${retry}`);
    const response = await fetch(apiUrl, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + loginString,
      },
      body: JSON.stringify({ workflowId: id, type: 'update', serviceName })
    })
    if (response.status === 404 && retry < 3) {
      setTimeout(function () {
        retry++;
        afterUpdate({ name, id, retry });
      }, 3000);
    } else {
      const responseText = await response.text();
      console.log(`Response: ${responseText}`);
    }
  } catch (e) {
    console.log(`Error: ${e.message}`);
  }
}
e.workflow.afterUpdate = [afterUpdate];

For security reasons, I won’t go into detail or share code/workflows here—there are indeed malicious individuals on the internet.

1 Like

Hi @BillAlex & @Nicolas_M

Would be best to open a topic for this, you are now having this discussion in a feature request topic. :slight_smile:

2 Likes

Hey all. I wanted to give a quick update: Unfortunately, we will not gonna be able to ship the feature this quarter yet due to unforeseen changes in focus. Please keep the feedback coming though, we will try to pick that back up as soon as possible.

2 Likes

Interacting to bump this up! Absolutely a MUST need feature.

7 Likes

Would love this. Would help a lot.

2 Likes

It’s very sad to hear this :pensive:
This feature has been discussed since 2020. Most users are extremely interested in it, and some are raising the issue of leaving the platform due to the lack of ability to conveniently organize the workspace. Some adherents have already proposed implementation, but this feature has not yet been implemented in the master. This way, you can lose the competition with other platforms.
I kindly ask the team to reconsider the priority for this feature and implement it.
The whole community will be happy :star_struck:
You make a great tool! I really don’t want to change it for another one.

7 Likes

Hey @korovaevda, I fully agree with you and thanks for your feedback. This is one of our top-prios for Q1 next year. Will share some more details soon.

4 Likes

YES! THANK YOU :grinning:

1 Like

From aug 2020 till end of 2024…