Thanks a lot for posting! Even though I had actually planned to post it later myself ;-) Happy to see my project finally live on hacker news!
n8n is a free node-based "Open Source" (Apache 2.0 with Commons Clause) Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools.
Currently, there is no hosted version yet but you can sign up on the website if you are interested to get informed once it is ready.
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!
The project website with the nodes which exist and example workflows:
The whole project is written in TypeScript and uses Vue for the frontend. So it should be easily extendable for everybody with web development experience.
If you have any problems, questions or need an integration which does not exist yet you can post it to the forum:
http://community.n8n.io
Interesting project, I like Zapier, and was interested in using this. — What about auto converting to GPL always 3? 4? 5? years into the future? So the current version of the project is guaranteed to become open source eventually, although it always starts as Commons-Clause for a few years.
Look at the Business Source license — they do that. (I'm doing the same with my project: AGPL —> GPL some years later.)
Fantastic to see more people getting into this space, and even better to be able to inspect the source code!
Who's your target demographic here? I work at a place that was considering using Zapier, but couldn't because the security story around that service didn't really meet requirements we had around legal compliance/regulations (SOC, PCI, etc).
Having freely available source to audit + a good security story could make n8n very appealing for back-office enterprise workflows.
Thank you very much for creating this - I love it! :-D
I don't know about all the licensing stuff and will have to evaluate if I can use it for official business but I'm glad I can just use it for my own stuff in private without paying high fees.
Don't take the harsh critics about the licensing too personally - I think it's cool that you released your code and thought about Open Source licensing.
I'm confused, is it self-hosted or not? The website says that a self-hosted solution is on the way, but here you say it can be self-hosted already, and I can't find pricing on your centrally hosted version.
Zapier has about 1,000 integrations, more than any of their closest competitors and at a price that is far less than others in their space. What you've done here is great! The UX seems better than Zapier and the extensibility & community approach terrific. The key, though, is going to be adding integrations rapidly. I might also stress:
- Bulk actions.
- Sync actions.
And support for other programming languages (eg. python)
N8n.io looks amazing. I would absolutely switch over to this if there were more integrations! (Namely: Shopify & Zoho Mail)
Half-tempted to dive in and see if I can code something up, but I need to focus on other parts of my business and not dive down the scratch-my-itch dev rabbit hole (again).
I've seen enough of these supposedly non-programmer-friendly interfaces to judge them all guilty until proven innocent (not that many, to be honest, but I am scarred nonetheless). Looking at the video, it's not the worst I've seen. But please, I beg you (the authors here or anyone building a similar product):
- Provide first class debugging and dry-run support. Don't make people either run in prod (as the demo video effectively does) or set up full testing environments.
- Strict, comprehensible scoping rules. Non-programmers will have more, not less trouble with having named data propagated everywhere for reasons that aren't visually clear. Global state is still bad.
- Don't make users think about JSON.
- Supply auto-layout. Don't force users to manually reposition things to get a decent layout, and ideally don't let them. The demo video seems to show at least the first half in place, so that's good.
- Version control. Possibly via...
- Ideally an isomorphically editable text representation. You can switch between graphical and text representations and have changes propagate.
Maybe this project checks more of these boxes than I've seen so far. I'm pathologically optimistic, so there's a good chance I'll work with this enough to find out.
I don't really know why everyone wants to keep making these benighted flow-chart UIs instead of using the relatively proven Scratch UI model.
I'm curious - could you explain what you mean by the "Scratch UI"? I did some searching on Google, but there appear to be several products which use this term.
Crowded space, but darn few (if any) shared source or community based solutions. Here's a several examples from a market study I did in 2018: Workato, Apiant, Inegromat, Snaplogic, CloudHQ, Boomi, Tibco, Jitterbit, AWS Lambda, Mulesoft, Tray.io, ApacheNiFi, Stringify, Adeptia, Kotive, Cazoomi, Scribesoft and several more.
I work at Boomi, on their Flow product (similar to this project), and we open source everything in our product, except for our core workflow engine - https://github.com/manywho (our pre-acquisition name if you're wondering).
The community part is hard to generate though... there's a lot of enterprise in the workflow space.
It’s maybe a dumb question but even after looking in some of them I usually fall back on a classic cron job + some Python scripts for automation for the flexibility. What’s the biggest advantage of these services / solutions when you already have some servers available?
Which one in your opinion allows for extensions of those APIs the best at a SMB price point? My frustration with Zapier is that I if they don't support the trigger, I'm kinda sol. I wanna be able to say "I want to manually add this API call" in a low code environment.
Also - do you mind if I grab some of your time to discuss on the phone? my contact details are in my profile.
HN usually finds a theme to complain about with any cool project. Looks like this time they picked licensing. Just wanted to say thank you for making this project. I think tech like Zapier/IFTTT are really cool, but I would never trust a closed platform of this sort.
But something like n8n I would consider using, because you've provided an escape hatch to lock-in by making the source available. I think it's totally reasonable to prevent other companies from profiting from your work. I also think it falls under the umbrella of "open source". If someone wants a truly FLOSS version of this, they're welcome to make it themselves. But they won't, they'll just complain and keep using n8n, because the licensing is good enough for 99.9% of use cases.
EDIT: I just want to point out that there's been some discussion of licensing here which I've personally found interesting and instructive. I've seen several people suggest that there is a definition of the term "open source" that is essentially universally agreed upon (that being the Open Source Initiative definition [0]), and that that is the only valid definition. I've worked in what I consider to be open source for many years, and wasn't aware that such consensus had been reached. My personal views have not changed as of yet, but my paradigm has definitely shifted. I intend to pay closer attention to how others use this term, and carefully attempt to be clear about my usage in the future. Having a single agree-upon definition of things is always valuable, and if that's where we're at I'm all for it. I'm just not convinced yet that it's actually 100% agreed upon.
That said, I think the author of n8n was pretty dang clear.
There's a weird trend on HN. For proprietary products (e.g. slack) I rarely see them getting criticized for having a proprietary license. If you are fully open source, then of course they love you. But if you try to strike a compromise and give away a lot while still keeping some licensing terms to let you make money off your creation, then you'll be bombarded by complaints about your licensing.
Cool project. One aspect of these integration systems is that the volume and velocity of integration development is one of the main ways they show value. Zapier claims 1500+ integrations, and they have many competitor with similar counts of integrations. Somehow, they always seem to not have that thing I need.
I wonder why, in this era of Swagger / OpenAPI / Postman Collections / API Gateways ... why this is so difficult? I feel like there was a promise that integration would become more magical at a rapid clip, but as it stands it just seems like there are more options but no less headaches.
Look awesome, and although the license is definitely NOT open source (although you DO say the parts that people care the most are best-effort open source to the community), this has the potential to motivate other people to work on similar projects or suggest improvements to yours.
However...
The beauty of Zapier relies on its amount of pluggable blocks. I don't think there's anyone in this market that has as many operations as Zapier and using custom blocks you can do pretty much anything. Yes I am totally a fan of Zapier as I have been using it for years!
Zapier is like LEGO, there are many clones of LEGO but only one true LEGO (ouch my feet hurt just by thinking about it ;) )
I really hope you can get people to contribute more and more integrations as that's what really matters at the end of the day: The ability to use little or no-code to achieve automation between various platforms!
Zapier is propietary and prohibitively expensive. Yes, I like it -- but I'd rather support small projects like this one, even if it requires a bit more of time.
Super happy to see this effort and eager to check the code out soon!
As someone who relies on a lot of Zapier-style API connections, I’d love to hear more about how people approach it - how you go about managing env vars (keys/token), abstracting similar service procedures (oauth, webhooks) and generally monitoring 3rd party API endpoints for keeping the connections healthy? Any advice from Zapier / IFTTT veterans?
Edit: the n8n docs seem good and also address most of my questions [1]
question: if I have a project management software saas, and I want to integrate n8n to make automations (for example: when a task is marked as completed), is the license valid for this use?
This is really neat! I'm generally prohibited from using stuff like Zapier at work, since we handle a lot of client data and passing it through any third party opens up a Pandora's Box of legal reviews. The self-hosted nature of this would bypass a lot of that hassle.
Public Service Announcement for anyone at BigCorp: Microsoft has it's own tool in this space called Microsoft Flow[1]. It's not as feature-filled as Zapier, but it works in a pinch and you get access to it automatically as part of an Office/Microsoft 365 license. So unless your corporate IT has gone to great lengths to explicitly disable access to it, you can leverage it to make your life at least a bit easier.
Leaving the UI aside, how is this different from Huginn? I have a few Huginn agents running menial tasks, but I find time consuming to debug issues. Does N8n have more connectors? What are the strengths compared with Huginn?
In terms of the licensing debate... Did you bother to actually read the Common Clause FAQ? Here are the first 2 FAQ entries:
"What is Commons Clause? The Commons Clause is a license condition drafted by Heather Meeker that applies a narrow, minimal-form commercial restriction on top of an existing open source license to transition the project to a source-availability licensing scheme. The combined text replaces the existing license, allowing all permissions of the original license to remain except the ability to "Sell" the software as defined in the text.
This Clause is not intended to replace licenses of existing open source projects in general, but to be used by specific projects to satisfy urgent business or legal requirements without resorting to fully "closing source".
Is this “Open Source”? No.
“Open source”, has a specific definition that was written years ago and is stewarded by the Open Source Initiative, which approves Open Source licenses. Applying the Commons Clause to an open source project will mean the source code is available, and meets many of the elements of the Open Source Definition, such as free access to source code, freedom to modify, and freedom to re-distribute, but not all of them. So to avoid confusion, it is best not to call Commons Clause software “open source.” "
[+] [-] janober|6 years ago|reply
n8n is a free node-based "Open Source" (Apache 2.0 with Commons Clause) Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools. Currently, there is no hosted version yet but you can sign up on the website if you are interested to get informed once it is ready.
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!
The project website with the nodes which exist and example workflows:
https://n8n.io
You can find the source code on Github: https://github.com/n8n-io/n8n
The whole project is written in TypeScript and uses Vue for the frontend. So it should be easily extendable for everybody with web development experience.
If you have any problems, questions or need an integration which does not exist yet you can post it to the forum: http://community.n8n.io
Documentation can be found here: https://docs.n8n.io
Your feedback is highly appreciated!
Thanks a lot!!
UPDATE:
[Sorry are unable to answer any questions right now as it always displays me that I am posting to fast. Will answer as soon as HN allows me!]
[+] [-] dragonwriter|6 years ago|reply
Commons Clause is not Open Source. It is free-of-charge (for certain uses) source-available proprietary software.
[+] [-] KajMagnus|6 years ago|reply
Look at the Business Source license — they do that. (I'm doing the same with my project: AGPL —> GPL some years later.)
Best wishes :- )
[+] [-] whitehouse3|6 years ago|reply
[+] [-] d4mi3n|6 years ago|reply
Who's your target demographic here? I work at a place that was considering using Zapier, but couldn't because the security story around that service didn't really meet requirements we had around legal compliance/regulations (SOC, PCI, etc).
Having freely available source to audit + a good security story could make n8n very appealing for back-office enterprise workflows.
[+] [-] VvR-Ox|6 years ago|reply
I don't know about all the licensing stuff and will have to evaluate if I can use it for official business but I'm glad I can just use it for my own stuff in private without paying high fees.
Don't take the harsh critics about the licensing too personally - I think it's cool that you released your code and thought about Open Source licensing.
Keep up the great work!
[+] [-] hannasanarion|6 years ago|reply
[+] [-] anderspitman|6 years ago|reply
[+] [-] johnx123-up|6 years ago|reply
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] ipoopatwork|6 years ago|reply
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] rrggrr|6 years ago|reply
- Bulk actions. - Sync actions.
And support for other programming languages (eg. python)
Hope that helps.
[+] [-] tjbiddle|6 years ago|reply
Half-tempted to dive in and see if I can code something up, but I need to focus on other parts of my business and not dive down the scratch-my-itch dev rabbit hole (again).
[+] [-] anderspitman|6 years ago|reply
[+] [-] fillskills|6 years ago|reply
[+] [-] andrewflnr|6 years ago|reply
- Provide first class debugging and dry-run support. Don't make people either run in prod (as the demo video effectively does) or set up full testing environments.
- Strict, comprehensible scoping rules. Non-programmers will have more, not less trouble with having named data propagated everywhere for reasons that aren't visually clear. Global state is still bad.
- Don't make users think about JSON.
- Supply auto-layout. Don't force users to manually reposition things to get a decent layout, and ideally don't let them. The demo video seems to show at least the first half in place, so that's good.
- Version control. Possibly via...
- Ideally an isomorphically editable text representation. You can switch between graphical and text representations and have changes propagate.
Maybe this project checks more of these boxes than I've seen so far. I'm pathologically optimistic, so there's a good chance I'll work with this enough to find out.
I don't really know why everyone wants to keep making these benighted flow-chart UIs instead of using the relatively proven Scratch UI model.
[+] [-] npsomaratna|6 years ago|reply
Is this what you meant? https://scratch.mit.edu/developers
[+] [-] rrggrr|6 years ago|reply
I really think the community angle is unique.
[+] [-] jonjomckay|6 years ago|reply
The community part is hard to generate though... there's a lot of enterprise in the workflow space.
[+] [-] tarsinge|6 years ago|reply
It’s maybe a dumb question but even after looking in some of them I usually fall back on a classic cron job + some Python scripts for automation for the flexibility. What’s the biggest advantage of these services / solutions when you already have some servers available?
[+] [-] mbesto|6 years ago|reply
Also - do you mind if I grab some of your time to discuss on the phone? my contact details are in my profile.
Thanks!
[+] [-] HatchedLake721|6 years ago|reply
[+] [-] apitman|6 years ago|reply
But something like n8n I would consider using, because you've provided an escape hatch to lock-in by making the source available. I think it's totally reasonable to prevent other companies from profiting from your work. I also think it falls under the umbrella of "open source". If someone wants a truly FLOSS version of this, they're welcome to make it themselves. But they won't, they'll just complain and keep using n8n, because the licensing is good enough for 99.9% of use cases.
EDIT: I just want to point out that there's been some discussion of licensing here which I've personally found interesting and instructive. I've seen several people suggest that there is a definition of the term "open source" that is essentially universally agreed upon (that being the Open Source Initiative definition [0]), and that that is the only valid definition. I've worked in what I consider to be open source for many years, and wasn't aware that such consensus had been reached. My personal views have not changed as of yet, but my paradigm has definitely shifted. I intend to pay closer attention to how others use this term, and carefully attempt to be clear about my usage in the future. Having a single agree-upon definition of things is always valuable, and if that's where we're at I'm all for it. I'm just not convinced yet that it's actually 100% agreed upon.
That said, I think the author of n8n was pretty dang clear.
[0] https://opensource.org/
[+] [-] wmsiler|6 years ago|reply
[+] [-] reilly3000|6 years ago|reply
I wonder why, in this era of Swagger / OpenAPI / Postman Collections / API Gateways ... why this is so difficult? I feel like there was a promise that integration would become more magical at a rapid clip, but as it stands it just seems like there are more options but no less headaches.
[+] [-] orliesaurus|6 years ago|reply
However... The beauty of Zapier relies on its amount of pluggable blocks. I don't think there's anyone in this market that has as many operations as Zapier and using custom blocks you can do pretty much anything. Yes I am totally a fan of Zapier as I have been using it for years! Zapier is like LEGO, there are many clones of LEGO but only one true LEGO (ouch my feet hurt just by thinking about it ;) ) I really hope you can get people to contribute more and more integrations as that's what really matters at the end of the day: The ability to use little or no-code to achieve automation between various platforms!
[+] [-] zimmund|6 years ago|reply
[+] [-] frb|6 years ago|reply
Easily extendable and new integrations can be built easily.
Also helps that the author works here and is generally a great guy ;-)
[+] [-] amandana|6 years ago|reply
[+] [-] fenwick67|6 years ago|reply
[+] [-] haywirez|6 years ago|reply
As someone who relies on a lot of Zapier-style API connections, I’d love to hear more about how people approach it - how you go about managing env vars (keys/token), abstracting similar service procedures (oauth, webhooks) and generally monitoring 3rd party API endpoints for keeping the connections healthy? Any advice from Zapier / IFTTT veterans?
Edit: the n8n docs seem good and also address most of my questions [1]
[1] https://docs.n8n.io/#/nodes
[+] [-] cristyansv|6 years ago|reply
[+] [-] cdolan|6 years ago|reply
[+] [-] ron22|6 years ago|reply
[+] [-] cosmie|6 years ago|reply
Public Service Announcement for anyone at BigCorp: Microsoft has it's own tool in this space called Microsoft Flow[1]. It's not as feature-filled as Zapier, but it works in a pinch and you get access to it automatically as part of an Office/Microsoft 365 license. So unless your corporate IT has gone to great lengths to explicitly disable access to it, you can leverage it to make your life at least a bit easier.
[1] https://flow.microsoft.com/en-us/
[+] [-] flowwyy|6 years ago|reply
[deleted]
[+] [-] yboris|6 years ago|reply
https://stdlib.com
> Standard Library: APIs as Building Blocks
[+] [-] dgrabla|6 years ago|reply
[+] [-] nubela|6 years ago|reply
[+] [-] royletron|6 years ago|reply
[+] [-] underyx|6 years ago|reply
[+] [-] automatist|6 years ago|reply
[+] [-] johnm|6 years ago|reply
"What is Commons Clause? The Commons Clause is a license condition drafted by Heather Meeker that applies a narrow, minimal-form commercial restriction on top of an existing open source license to transition the project to a source-availability licensing scheme. The combined text replaces the existing license, allowing all permissions of the original license to remain except the ability to "Sell" the software as defined in the text.
This Clause is not intended to replace licenses of existing open source projects in general, but to be used by specific projects to satisfy urgent business or legal requirements without resorting to fully "closing source".
Is this “Open Source”? No.
“Open source”, has a specific definition that was written years ago and is stewarded by the Open Source Initiative, which approves Open Source licenses. Applying the Commons Clause to an open source project will mean the source code is available, and meets many of the elements of the Open Source Definition, such as free access to source code, freedom to modify, and freedom to re-distribute, but not all of them. So to avoid confusion, it is best not to call Commons Clause software “open source.” "
[+] [-] unknown|6 years ago|reply
[deleted]