Analysis : n8n & Make

Who am I ?

My name is Walid Nouh. I’am an open source enthousiast for more than 20 years. I have a background in open source software development & project management. My current position is Product Builder.

I started automation with n8n in 2020, and I now use Make & Zapier for my daily work (disclamer : this analysis is not part of my work, even if it’s related).

A big thank you to:

Goal of the analysis

The goal of this comparison is not to declare a winner, but to explore the pros and cons of each solution. I use both of them and wanted to have a deeper understanding of how they work.

I couldn’t find a in depth analysis of Make and n8n, so I decided to write my own.

My goal is, at the end, to be able to set a policy on when to use Make and n8n.

Terminology

Make:

  • Scenario: a scenario comprises of a series of modules that indicate how data should be transfered and transformed between apps/services.
  • App: an App is the name Make gives to their Connectors. It allows you to call a third-party API using wizards and easy configuration fields
  • Module: A module is part of an App. It’s the actual service you call in an API. When you want to call a specific service in a third-party application, you use a Module.

n8n:

A Workflow is a connection of nodes connected together to automate a process.

Nodes are the building blocks of workflows in n8n. They’re an entry point for retrieving data, a function to process data, or an exit for sending data. The data process includes filtering, recomposing, and changing data. There can be one or several nodes for your API, service or app. You can connect multiple nodes, which allow you to create both simple and complex workflows.

Scenario in Make = workflow in n8n.

Module in Make = node in n8n.

Business model

TopicMaken8n
Dev modelCompanyCompany backed + community
Company nameCelonisn8n GmbH
Company founded/based inCzech RepublicGermany
Independant company ?Aquired by Celonis (Germany/USA) in 2020Yes
Project launch20162019
Licensing modelSaas, proprietaryn8n Cloud : https://github.com/n8n-io/n8n/blob/master/LICENSE_EE.md, proprietary
n8n : https://docs.n8n.io/choose-n8n/faircode-license/, proprietary
White labellingYes – Private InstanceYes – https://docs.n8n.io/embed/white-labelling/
Embed in a commercial productNoYes, https://n8n.io/embed/
Partnership programYesYes
Affiliate programYesYes – https://n8n.io/affiliates/
MerchNoYes – https://merch.n8n.io/
Certification programYes, https://academy.make.com/No, only https://n8n.io/experts/ + https://docs.n8n.io/courses/

Comments n8n’s business model :

  • the code is available on github but it’s NOT FLOSS (Fair code license + license branch restriction)
  • follows open source development methods : user contributions, custom integration apps, feature requests, etc.
  • fast release cycle
  • you can run your own instance for free if you have the skills to do so
Make : SaaS service / editor

Development cycle

TopicMaken8n
Release frequencyhttps://www.make.com/en/help/about-make/release-noteshttps://docs.n8n.io/reference/release-notes/
Release note pagehttps://www.make.com/en/help/about-make/release-noteshttps://docs.n8n.io/reference/release-notes/
Number of apps/nodesOfficial : 1363Official : 382
Overall DocumentationYesYes
App/Node DocumentationYesYes
App/Node lifecycle managementhttps://www.make.com/en/help/modules/app-lifecycleNo
Feature requestshttps://www.make.com/en/platform-ideas/https://community.n8n.io/c/feature-requests/5
Public roadmapNoNo
Sources availableNoYes on https://github.com/n8n-io/n8n
Public APIhttps://www.make.com/en/api-documentationhttps://docs.n8n.io/api/

Hosting / Offer

TopicMaken8n
SaaS platformYesYes
Servers locationAmazon AWS (EU/North America)Microsft Azure (Frankfurt, Germany)
Cloud status pagehttps://status.make.com/https://status.n8n.cloud/
Self HostedYes, contact salesYes (n8n) / https://docs.n8n.io/choose-n8n/desktop-app/
2 Factor Authenticationhttps://www.make.com/en/help/access-management/two-factor-authenticationNo, https://github.com/n8n-io/n8n/pull/4767
Single Sign Onhttps://www.make.com/en/help/access-management/single-sign-onhttps://community.n8n.io/t/user-and-privilege-management-got-created/208/9
LDAP Authenticationhttps://www.make.com/en/help/access-management/single-sign-on#example–setting-up-single-sign-on-with-ms-azure-active-directory, https://www.make.com/en/help/access-management/single-sign-onYes (Self Hosted Entreprise plan only)

Pricing

TopicMaken8n Cloudn8n (paid, Self Hosted Plan)
Pricinghttps://www.make.com/en/pricingCloud: https://n8n.io/pricing/?cloud=truehttps://subscription.n8n.io/
Custom plansYesYesYes
Explaination of an executionEvery time a module in a scenario performs an action, it counts as an operationAn execution is when n8n completes one cycle of the workflow that you’ve built. Regardless of the amount of data that is processed and how many nodes are usedAn execution is when n8n completes one cycle of the workflow that you’ve built. Regardless of the amount of data that is processed and how many nodes are used
Plans pricing involve (as of january 2023) ⇒ technical limitationsNumber of operationsworkflow executionnumber of worfklows
Maximum file sizenumber of active workflowsworkflow state (only active counts)
Minimum interval between scheduled scenarioshttps://docs.n8n.io/hosting/installation/server-setups/aws/#pod-resources
Maximum number of webhook queue
  • Comments Running workflows on n8n is currently cheaper than on Make. Choosing a Make plans involve more technical parameters.

Apps / Nodes development

TopicMaken8n
Custom private apps/nodesYes (Custom Apps)Yes, OnPrem version
Skills to develop an app/nodeUnderstanding of JSON & APIs
(https://www.notion.so/90163363c746497887ace8d3d6176bc1)Git/ Writing JS code + understanding of APIs
IDE extensionYes (MS VisualCode)No
Who can write apps/nodes ?Everyonen8n team or user contribution (Github’s contributions)
Who can publish apps/nodes ?Everyoneusers in the community nodes repo (npm packages)
App/node publicationYes
Yes
Ownership transferOwnership is transfered to Make in case of app publishing in the catalog
If app is not published, access via an invitation linkGithub Pull Request (PR) : ownership is transfered to n8n
Community node : no ownership transfer
Who maintains an app/node ?Mainly Make
Users/editors can push the app updatesCode nodes : n8n team (or community members contribution)
Community node : the node’s owner or team
  • Comments Apps/nodes update is my hot topic:
    • who wrote the app/node ?
    • what are its capabilities ?
    • is it maintained ? who’s maintaining it ?
    • what’s the workflow that triggers an app/node update in n8n or Make ?
    Regarding n8n node updates, answer from Jon, community engineer at n8n on discord: A node will be updated based on feature request votes from the community, if something might be missing that we want to use, if a community member puts in a PR or if the telemetry data shows that a high % of workflows with that node fails. We don’t have owners for nodes but we do have a nodes team who look after them.We do have a couple of nodes where we see the same community members putting in PRs to keep it updated and add new features By introducing a community repo, it is easy for an editor to maintain it’s own node: he’s in control of the node lifecycle and license. For Make (words from Benjamin Potet): There’s one app teams and one entreprise apps team
    • Apps are updated by Make, using review/QA
    • Users can submit updates to their apps
    • App updates policy:
      • non disruptive: the app gets updated
      • disruptive: the old app gets deprecated. Make keeps the app for compatiblity reasons
    In the Zapier environment, if you publish an app, you have to follow some rules and be ready to maintain and update it yourself. Zapier’s support team serves as frontline support for your Zapier integration. If your users find bugs with your integration, we will surface them to your team. We expect your team to promptly reply to those requests from your users and to maintain your integration Once your app is published, Zapier acts as an intermediary and it’s up to your company to fix the issue or answer the question. On the other hand, Make is the owner of most (not all) of their apps and maintain them as an editor.
  • App/node capabilities differences One my work example: everyday I export a list all of our Typeform forms to Notion for documentation purposes. In Make it’s easy, I just have to use the “List forms” functionnality. In n8n, I have to use an HTTP node instead (and read the API reference…). In n8n you can only trigger action on a typeform submission In n8n you can only trigger action on a typeform submission In Make you can control most of Typeform’s configuration In Make you can control most of Typeform’s configuration

Community

TopicMaken8n
Forum / Q&AYesYes
Discord serverNohttps://discord.gg/vWwMVThRta
Public feature requestYesYes
Official french communityhttps://community.make.com/ (international)n8n fr community : https://fr.community.n8n.io/
n8n discord french channel
Other french communityhttp://redirection.nocode-france.fr/slackhttp://redirection.nocode-france.fr/slack
  • Comments There’s no community chat server for Make 😑 Hopefully the Make channel on the french Slack community is really usefull and active👍 There’s an discord server for n8n: it’s the right place to get in touch with users and n8n employees!

Documentation

TopicMaken8n
Rename a module/nodeYesYes
Comment a module/nodeYes (Notes)Yes (Notes)
Comment some part of the scenario/workflowNoYes, Sticky Notes
Scenario/workflow blueprintYesYes
Scenario/workflow versionningNoNo
Scenario/workflow historyYesNo
Scenario/workflow restore a previous versionhttps://www.make.com/en/help/scenarios/how-to-restore-a-previous-scenario-version
  • Examples Sticking notes in n8n: easy way to document parts of your workflow Sticking notes in n8n: easy way to document parts of your workflow In Make: right panel to add notes to your modules In Make: right panel to add notes to your modules In n8n you can also add note in the Node configuration and display the note in the flow In n8n you can also add note in the Node configuration and display the note in the flow
  • Comments n8n’s combination of notes & sticky notes makes it easy to document your workflow. Make’s note display is hard to read IMHO. Workflow versionning is a big miss for both products

General scenario/workflow features

TopicMaken8n
Scenario/Workflow templatesYesYes
Use of Scenario/workflow templatesYesYes
Create scenario/workflow templatesYes, Team plan an above (https://www.make.com/en/help/scenarios/scenario-templates#template-types, https://www.make.com/en/api-documentation/templates-post)No
Scenario/workflow TimeoutYes, 40 minutesYes
Scenario/workflow exportYes (file, API)Yes (file, URL, API)
Scenario/workflow importYes (file, API)Yes (file or URL, API)
Enable/disable a nodeNoYes
Enable/disable a route/branchYesNo, disable all its nodes
Conditional branchesYesYes
Condition on apps/nodes relationsYesNo
Manage dateshttps://www.make.com/en/help/functions/date—time-functions#addyears–date–years-https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datetime/?utm_source=n8n_app&utm_medium=node_settings_modal-credential_link&utm_campaign=n8n-nodes-base.dateTime
EnvironmentsNoNo, coming
  • Comments Make: managing router execution branches order is not intuitive… n8n: understanding in which order the system process the nodes can sometimes be really tricky. You also have to understand when to use the splitInBatch module to avoid have timeouts or rate limits errors In n8n I’d love to be able to create my own workflow templates, where I include, by default, a general sticky note and set an error workflow 😇
  • Example 2 approaches to manage dates. Each one has pros and cons: In n8n managing date is a dedicated node In n8n managing date is a dedicated node Make provides functions to manage dates, not a module (source) Make provides functions to manage dates, not a module (source)

Core nodes

TopicMaken8n
IF module/NodeVia router & filtersYes
Switch module/nodeVia router / Built-in appYes
Array functionsYesYes
Converger option (branching and merging)No (no converger option)Yes
Array mergeYes, functionsYes, node
Store data / variablesYesYes
Call an scenario/workflow from inside another oneYesYes
WebhookYesYes
Execute custom codeNo, soonhttps://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/

Errors management

TopicMaken8n
Error module/nodeYesYes
Define an error scenario/workflow for a workflowNoYes
Retry on failed module/nodeYesYes (number of times, time between 2 tries)
Continue on failed module/nodeYesYes
Deactivate scenario/workflow after a number of failed executionYesNo
Operation rollbackYes (depending on the app)No
Incomplete executions managementhttps://www.make.com/en/help/scenarios/incomplete-executionsNo
  • Comments Make has some cool features such as disabling a scenario that failed more than X times or scenario rollback. n8n is verry powerful as you can setup an error workflow in your own workflow settings. It allows catching all erros, even you do not specify error node for each possible errors cases. My personal best practice:
    • one account per team
    • one error workflow per account, logging messages on each team’s dedicated slack channel
    • add the error workflow when adding new workflow
    Workflow settings in n8n: you can define an error workflow Workflow settings in n8n: you can define an error workflow

Logging

TopicMaken8n
Log executionsYesYes
Log manual executionsYes (automatic)Yes (setting)
Log successful executionsYes (automatic)Yes (setting)
Log unsucessful executionsYes (automatic)Yes (setting)
Send events to an remote log serviceNoYes, entreperise self-hosted or custom cloud (see https://docs.n8n.io/log-streaming/)

Workflow development

TopicMaken8n
Display input/output of a module/nodeYesYes
Pin output data of a module/nodeNoYes
Test only one module/nodeYes : app parameters values promptNo: need for previous node execution output
Webhook test URLNoYes (different url than production one)
  • Comments n8n: Pinning the output data of a node is a real plus. It avoid executing the whole workflow just to test a node or a part of the workflow. Make: Being able to test a node by inputing it’s parameters is really useful.

Collaboration

TopicMaken8n
Single userYesYes
Multi-usersYesOnPrem : Yes
Cloud : depend on your plan
Private scenario/workflow per userYesYes
Private credentialYesYes
Share scenario/workflowYesYes (cloud only)
Share credentialsYesYes (cloud only) (tbc)

Products origins

n8n founder’s on YCombinator :

Jan Oberhauser:

I created it initially because I realized that every time I wrote a script to automate a small task it took me a very long time. Depending on the task it normally involved: reading documentation, writing code, committing to Github, deploying on a server, error reporting, SSL, make sure it restarts on a crash, and so on. So even very small tasks took at least half a day or day till everything was up and running properly. Existing Open Source solutions were not up to the task and also commercial ones like Zapier did not work for various reasons. Some being that they do not work well with in-house tools or complicated tasks and it gets expensive quite fast, …

So hope n8n is as helpful for other people as it is for me. Also, all help with further improving the project and create more integrations is very welcome!

⇒ n8n started as a technical project, by someone with technical skills

Make origins:

Here’s how: Prior to starting the development of Make circa 2012, Make’s cofounders had been orchestrating complex integrations for large enterprises. Like any Systems Integrator at the time, the team dealt with complex systems and legacy tools. They were already very good at what they did but also pondered that there had to be a better and more efficient way to execute.

This gave birth to the idea of a cloud-based tool with all the possible ingredients to take the pain away from making complex tools work with each other. As you know, history repeats itself and once again was an idea born to scratch one’s own itch.

Make’s cofounders (let’s refer to them as the I-team) believed that this tool will set them on a path to becoming the number one Systems Integrator in the Czech Republic; thus, Make was born in the beautiful city of Prague.

Soon after they began developing this internal tool, the I-team came across a SaaS tool that was built on the same principle of removing friction from integrating various apps. While this tool was in its early stages of development and was running a closed beta, SaaS Megastars like Dropbox, Stripe, and several others were changing the rules of the B2B software industry, forever altering the way software is bought and sold. This was the Aha moment. But it was also the Uh-oh moment.

⇒ Make started as tool to help integrators improve their job

Workflow optimization

I started automation by using a Self Hosted n8n: I had, at the time, no incentive to optimizing my workflows (but I would have to in case of dealing with a great amount of data).

By using Make, I always have to pay attention to executions. At the beginning it seems annoying, but then you realize that you get better at your job and you also save computing power (which is always good). In fact it’s one of the most interesting part of the job (as when you’re a developer and you always try to improve your code).

Workflow KPIs

Neither Make nor n8n can deal with KPIs: when you create a workflow, you set KPIs to check if your workflow meets your standards. Depending on the workflow, it might be a number of executions, PDF file generation, uploads to GDrive, etc.

In my case I simply send KPIs data in a Google Sheet for further analysis.

I hope that, in the future, Make and n8n could implement QA features!

Products audience

n8n ⇒ users with some technical background

Make ⇒ users with a functional background

As a technical person, depending on my user case, I would rather use Make or n8n. No need for choosing only one !

Conclusion

For me, one of n8n’s real added value is the On Premise feature, which allow you to host your own n8n instance and :

  • access your internal tools : not public, behind a VPN, etc (this is the main reason why I started to use n8n)
  • keep your data as much as possible in your hands (especially GDPR compliance)

If you plan to build a product and use n8n Self Hosted, be sure to read carefully n8n’s license and this thread

Make is much more user oriented and apps functionnalities are often richer that n8n nodes ones. I enjoy using it everday at work, but it lacks the user code execution feature, which can save time, executions (and, thus, cost) and some small features for scenario development that makes n8n so cool to use. From a developer perspective, n8n’s logic is natural (arrays, merge, if, switch, etc.).

I can only talk about the french Nocode community, but Make is the default choice if you want to perform good automation. It appears that people are more reluctant to try n8n because it seems much more technical. My guess is that n8n nodes provide less capabilities than Make apps: you often need to use HTTP nodes or JS code (having to find your way through an API documentation is a nogo for most people).

To conclude, I would say that my good practice is to think about Nocode as Code: what I create today is a technical debt for tomorrow 👍

Personal thoughts

By helping my colleagues to improve their workflows, what strikes me the most is app/node capabilities. If you’re autonomous on Zapier but not on Make or n8n, then they’re going to think “this tool is too complicated for me” and drop it.

Using one of these tools is not only about price but also:

  • understanding which features are included or not, meaning that you’re going to waste time, executions and money reinventing the wheel
  • what are my colleagues skills in automation: can they handle the product easily ? What kind of training do they need ?
  • how are we going to collaborate ? what goal do we want to achieve ? who’s responsible for the overall consistency of the system ?

Using Make or n8n is one thing, but the most important thing is how do you share the knowledge, version and document your workflows and processes based on it (in my case I use ncScale for versionning).

And here, the Nocode communities have a lot to learn from software development.

This document is under Creative Commons Attribution CC BY

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.