Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
Find a file
Michael Auerswald b67f803cbe
feat: Add global event bus (#4860)
* fix branch

* fix deserialize, add filewriter

* add catchAll eventGroup/Name

* adding simple Redis sender and receiver to eventbus

* remove native node threads

* improve eventbus

* refactor and simplify

* more refactoring and syslog client

* more refactor, improved endpoints and eventbus

* remove local broker and receivers from mvp

* destination de/serialization

* create MessageEventBusDestinationEntity

* db migrations, load destinations at startup

* add delete destination endpoint

* pnpm merge and circular import fix

* delete destination fix

* trigger log file shuffle after size reached

* add environment variables for eventbus

* reworking event messages

* serialize to thread fix

* some refactor and lint fixing

* add emit to eventbus

* cleanup and fix sending unsent

* quicksave frontend trial

* initial EventTree vue component

* basic log streaming settings in vue

* http request code merge

* create destination settings modals

* fix eventmessage options types

* credentials are loaded

* fix and clean up frontend code

* move request code to axios

* update lock file

* merge fix

* fix redis build

* move destination interfaces into workflow pkg

* revive sentry as destination

* migration fixes and frontend cleanup

* N8N-5777 / N8N-5789 N8N-5788

* N8N-5784

* N8N-5782 removed event levels

* N8N-5790 sentry destination cleanup

* N8N-5786 and refactoring

* N8N-5809 and refactor/cleanup

* UI fixes and anonymize renaming

* N8N-5837

* N8N-5834

* fix no-items UI issues

* remove card / settings label in modal

* N8N-5842 fix

* disable webhook auth for now and update ui

* change sidebar to tabs

* remove payload option

* extend audit events with more user data

* N8N-5853 and UI revert to sidebar

* remove redis destination

* N8N-5864 / N8N-5868 / N8N-5867 / N8N-5865

* ui and licensing fixes

* add node events and info bubbles to frontend

* ui wording changes

* frontend tests

* N8N-5896 and ee rename

* improves backend tests

* merge fix

* fix backend test

* make linter happy

* remove unnecessary cfg / limit  actions to owners

* fix multiple sentry DSN and anon bug

* eslint fix

* more tests and fixes

* merge fix

* fix workflow audit events

* remove 'n8n.workflow.execution.error' event

* merge fix

* lint fix

* lint fix

* review fixes

* fix merge

* prettier fixes

* merge

* review changes

* use loggerproxy

* remove catch from internal hook promises

* fix tests

* lint fix

* include review PR changes

* review changes

* delete duplicate lines from a bad merge

* decouple log-streaming UI options from public API

* logstreaming -> log-streaming for consistency

* do not make unnecessary api calls when log streaming is disabled

* prevent sentryClient.close() from being called if init failed

* fix the e2e test for log-streaming

* review changes

* cleanup

* use `private` for one last private property

* do not use node prefix package names.. just yet

* remove unused import

* fix the tests

because there is a folder called `events`, tsc-alias is messing up all imports for native events module.
https://github.com/justkey007/tsc-alias/issues/152

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-01-04 09:47:48 +01:00
.github docs: Fix all credential documentation urls, and add a CI job to regularly validate these urls (#5012) 2022-12-22 17:01:29 +01:00
.vscode ci: Setup eslint-import-resolver-typescript for improved TS linting (#4996) 2022-12-22 09:55:39 +01:00
assets docs: Update logo and README files with new design 2022-10-27 14:57:49 +02:00
cypress feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
docker ci: Make custom images consistent with the release images (no-changelog) (#4924) 2022-12-21 17:12:12 +01:00
packages feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
patches feat(editor): Overhaul expression editor modal (#4631) 2022-12-01 13:26:22 +01:00
scripts docs: Fix all credential documentation urls, and add a CI job to regularly validate these urls (#5012) 2022-12-22 17:01:29 +01:00
.dockerignore feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
.editorconfig ci: Ensure that eslint runs on all frontend code (no-changelog) (#4602) 2022-11-15 18:20:54 +01:00
.gitignore feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
.npmignore refactor: Phase out TSLint in editor-ui (no-changelog) (#4935) 2022-12-15 14:06:00 +01:00
.npmrc feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
.prettierignore refactor(editor): Apply Prettier (no-changelog) (#4920) 2022-12-14 10:04:10 +01:00
.prettierrc.js 🎨 Set up linting and formatting (#2120) 2021-08-29 20:58:11 +02:00
CHANGELOG.md 📚 Update CHANGELOG.md and main package.json to 0.209.4 2022-12-28 19:39:31 -06:00
CODE_OF_CONDUCT.md refactor: Format root-level files (#3858) 2022-08-19 15:34:02 +02:00
CONTRIBUTING.md feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
CONTRIBUTOR_LICENSE_AGREEMENT.md refactor: Format root-level files (#3858) 2022-08-19 15:34:02 +02:00
cypress.config.js feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
jest.config.js ci: Update Jest setup on the CI to avoid OOM errors (no-changelog) (#5042) 2022-12-28 09:58:14 +01:00
LICENSE.md docs: scope Sustainable Use License to contents of the main branch (#4450) 2022-10-26 16:50:33 +02:00
LICENSE_EE.md docs(license): Introduce n8n Enterprise License (#3945) 2022-08-29 22:08:42 +02:00
package.json feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
pnpm-lock.yaml feat: Add global event bus (#4860) 2023-01-04 09:47:48 +01:00
pnpm-workspace.yaml feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
README.md docs: Update README (no-changelog) (#4636) 2022-12-05 09:55:46 +00:00
SECURITY.md Add SECURITY.md file 2021-09-28 14:32:16 -05:00
tsconfig.json fix: Fix inferred type of X cannot be named error after pnpm update (no-changelog) (#4585) 2022-11-11 17:05:21 +01:00
turbo.json refactor: Format root-level dirs (no-changelog) (#4938) 2022-12-15 16:39:59 +01:00

n8n.io - Workflow Automation

n8n - Workflow automation tool

n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.

n8n.io - Screenshot

Demo

📺 A short video (< 4 min) that goes over key concepts of creating workflows in n8n.

Available integrations

n8n has 200+ different nodes to automate workflows. The list can be found on: https://n8n.io/integrations

Documentation

The official n8n documentation can be found under: https://docs.n8n.io

Additional information and example workflows on the n8n.io website: https://n8n.io

The release notes can be found here and the list of breaking changes here.

Usage

Start

Execute: npx n8n

n8n cloud

Sign-up for an n8n cloud account.

While n8n cloud and n8n are the same in terms of features, n8 cloud provides certain conveniences such as:

  • Not having to set up and maintain your n8n instance
  • Managed OAuth for authentication
  • Easily upgrading to the newer n8n versions

Support

If you have problems or questions go to our forum, we will then try to help you asap:

https://community.n8n.io

Jobs

If you are interested in working for n8n and so shape the future of the project check out our job posts

What does n8n mean and how do you pronounce it?

Short answer: It means "nodemation" and it is pronounced as n-eight-n.

Long answer: "I get that question quite often (more often than I expected) so I decided it is probably best to answer it here. While looking for a good name for the project with a free domain I realized very quickly that all the good ones I could think of were already taken. So, in the end, I chose nodemation. 'node-' in the sense that it uses a Node-View and that it uses Node.js and '-mation' for 'automation' which is what the project is supposed to help with. However, I did not like how long the name was and I could not imagine writing something that long every time in the CLI. That is when I then ended up on 'n8n'." - Jan Oberhauser, Founder and CEO, n8n.io

Development setup

Have you found a bug 🐛 ? Or maybe you have a nice feature to contribute ? The CONTRIBUTING guide will help you get your development environment ready in minutes.

License

n8n is fair-code distributed under the Sustainable Use License and the n8n Enterprise License.

Additional information about the license model can be found in the docs.