diff --git a/_glossary/ai-glossary.md b/_glossary/ai-glossary.md
index 714b874cb..4cd0d45d6 100644
--- a/_glossary/ai-glossary.md
+++ b/_glossary/ai-glossary.md
@@ -1,3 +1,5 @@
*[completion]: Completions are the responses generated by a model like GPT.
*[hallucinations]: Hallucination in AI is when an LLM (large language model) mistakenly perceives patterns or objects that don't exist.
+*[vector database]: A vector database stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.
+*[vector store]: A vector store, or vector database, stores mathematical representations of information. Use with embeddings and retrievers. Use with embeddings and retrievers to create a database that your AI can access when answering questions.
diff --git a/_snippets/code/ai-how-to.md b/_snippets/code/ai-how-to.md
index a517cab93..3cbc3365d 100644
--- a/_snippets/code/ai-how-to.md
+++ b/_snippets/code/ai-how-to.md
@@ -1,3 +1,7 @@
+/// info | Feature availability
+AI assistance in the Code node is available to Cloud users. It isn't available in self-hosted n8n.
+///
+
/// note | AI generated code overwrites your code
If you've already written some code on the **Code** tab, the AI generated code will replace it. n8n recommends using AI as a starting point to create your initial code, then editing it as needed.
///
diff --git a/_snippets/code/tournament-notes.md b/_snippets/code/tournament-notes.md
index 9f88d6e93..a1fc1407c 100644
--- a/_snippets/code/tournament-notes.md
+++ b/_snippets/code/tournament-notes.md
@@ -2,5 +2,5 @@
If you have issues with expressions in 1.9.0:
* Please report the issue on the [forums](https://community.n8n.io/){:target=_blank .external-link}.
-* Self-hosted users can switch back to RiotTmpl: set `N8N_EXPRESSION_EVALUATOR` to `tmpl`. Refer to [Environment variables](/hosting/environment-variables/) for more information on configuring self-hosted n8n.
-///
\ No newline at end of file
+* Self-hosted users can switch back to RiotTmpl: set `N8N_EXPRESSION_EVALUATOR` to `tmpl`. Refer to [Environment variables](/hosting/configuration/) for more information on configuring self-hosted n8n.
+///
diff --git a/_snippets/integrations/builtin/app-nodes/operation-not-supported.md b/_snippets/integrations/builtin/app-nodes/operation-not-supported.md
new file mode 100644
index 000000000..106301906
--- /dev/null
+++ b/_snippets/integrations/builtin/app-nodes/operation-not-supported.md
@@ -0,0 +1,11 @@
+## What to do if your operation isn't supported
+
+If this node doesn't support the operation you want to do, you can use the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.
+
+You can use the credential you created for this service in the HTTP Request node:
+
+1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.
+1. Select the service you want to connect to.
+1. Select your credential.
+
+Refer to [Custom API operations](/integrations/custom-operations/) for more information.
diff --git a/_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md b/_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md
index 040d7f9f8..a2536bce8 100644
--- a/_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md
+++ b/_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md
@@ -1 +1 @@
-View n8n's [LangChain](/langchain/) documentation.
+View n8n's [Advanced AI](/advanced-ai/) documentation.
diff --git a/_snippets/integrations/builtin/cluster-nodes/use-with-chat-trigger.md b/_snippets/integrations/builtin/cluster-nodes/use-with-chat-trigger.md
index 8cf65f502..004fb51d0 100644
--- a/_snippets/integrations/builtin/cluster-nodes/use-with-chat-trigger.md
+++ b/_snippets/integrations/builtin/cluster-nodes/use-with-chat-trigger.md
@@ -1 +1 @@
-You can use this agent with the [On new manual Chat Message](/integrations/builtin/core-nodes/n8n-nodes-langchain.manualchattrigger/) node. Attach a memory sub-node so that users can have an ongoing conversation with multiple queries. Memory doesn't persist between sessions.
+You can use this agent with the [On new manual Chat Message](/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/) node. Attach a memory sub-node so that users can have an ongoing conversation with multiple queries. Memory doesn't persist between sessions.
diff --git a/_snippets/integrations/builtin/core-nodes/code-node.md b/_snippets/integrations/builtin/core-nodes/code-node.md
index be4aa5146..59da93106 100644
--- a/_snippets/integrations/builtin/core-nodes/code-node.md
+++ b/_snippets/integrations/builtin/core-nodes/code-node.md
@@ -3,8 +3,8 @@ The Code node allows you to write custom JavaScript or Python and run it as a st
/// note | Coding in n8n
This page gives usage information about the Code node. For more guidance on coding in n8n, refer to the [Code](/code/) section. It includes:
-* Reference documentation on [Built-in methods and variables](/code/builtin/)
-* Guidance on [Handling dates](/code/luxon/) and [Querying JSON](/code/jmespath/)
+* Reference documentation on [Built-in methods and variables](/code/builtin/overview/)
+* Guidance on [Handling dates](/code/cookbook/luxon/) and [Querying JSON](/code/cookbook/jmespath/)
* A growing collection of examples in the [Cookbook](/code/cookbook/)
///
@@ -41,9 +41,14 @@ The Code node supports:
If you self-host n8n, you can import and use built-in and external npm modules in the Code node. To learn how to enable external modules, refer the [Configuration](/hosting/configuration/#use-built-in-and-external-modules-in-the-code-node) guide.
+If you use n8n Cloud, you can't import external npm modules. n8n makes two modules available for you:
+
+* [crypto Node.js module](https://nodejs.org/docs/latest-v18.x/api/crypto.html){:target=_blank .external-link}
+* [moment npm package](https://www.npmjs.com/package/moment){:target=_blank .external-link}
+
### Built-in methods and variables
-n8n provides built-in methods and variables for working with data and accessing n8n data. Refer to [Built-in methods and variables](/code/builtin/) for more information.
+n8n provides built-in methods and variables for working with data and accessing n8n data. Refer to [Built-in methods and variables](/code/builtin/overview/) for more information.
The syntax to use the built-in methods and variables is `$variableName` or `$methodName()`. Type `$` in the Code node or expressions editor to see a list of suggested methods and variables.
@@ -57,7 +62,7 @@ The Code node takes longer to process Python than JavaScript. This is due to the
///
### Built-in methods and variables
-n8n provides built-in methods and variables for working with data and accessing n8n data. Refer to [Built-in methods and variables](/code/builtin/) for more information.
+n8n provides built-in methods and variables for working with data and accessing n8n data. Refer to [Built-in methods and variables](/code/builtin/overview/) for more information.
The syntax to use the built-in methods and variables is `_variableName` or `_methodName()`. Type `_` in the Code node to see a list of suggested methods and variables.
@@ -87,7 +92,7 @@ n8n includes built-in methods and variables. These provide support for:
* Accessing data about workflows, executions, and your n8n environment
* Convenience variables to help with data and time
-Refer to [methods and variables](/code-examples/methods-variables-reference/) for more information.
+Refer to [Built-in methods and variables](/code/builtin/overview) for more information.
diff --git a/_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md b/_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md
index 56ce9d10b..be9ef722c 100644
--- a/_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md
+++ b/_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md
@@ -2,5 +2,5 @@
The node relies on the timezone setting. n8n uses either:
1. The workflow timezone, if set. Refer to [Workflow settings](/workflows/settings/) for more information.
-2. The n8n instance timezone, if the workflow timezone isn't set. The default is `America/New York` for self-hosted instances. n8n Cloud tries to detect the instance owner's timezone when they sign up, falling back to GMT as the default. Self-hosted users can change the instance setting using [Environment variables](/hosting/environment-variables/environment-variables/#timezone-and-localization). Cloud admins can change the instance timezone in the [Admin dashboard](/manage-cloud/set-cloud-timezone/).
+2. The n8n instance timezone, if the workflow timezone isn't set. The default is `America/New York` for self-hosted instances. n8n Cloud tries to detect the instance owner's timezone when they sign up, falling back to GMT as the default. Self-hosted users can change the instance setting using [Environment variables](/hosting/configuration/environment-variables/timezone-localization). Cloud admins can change the instance timezone in the [Admin dashboard](/manage-cloud/set-cloud-timezone/).
///
diff --git a/_snippets/privacy-security/gdpr-self-hosted.md b/_snippets/privacy-security/gdpr-self-hosted.md
index b8ed9e3be..3dadbc460 100644
--- a/_snippets/privacy-security/gdpr-self-hosted.md
+++ b/_snippets/privacy-security/gdpr-self-hosted.md
@@ -1 +1 @@
-If you self-host n8n, you are responsible for deleting user data. If you need to delete data on behalf of one of your users, you can delete the respective execution. n8n recommends configuring n8n to prune execution data automatically every few days to avoid effortful GDPR request handling as much as possible. Configure this using the `EXECUTIONS_DATA_MAX_AGE` environment variable. Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for more information.
+If you self-host n8n, you are responsible for deleting user data. If you need to delete data on behalf of one of your users, you can delete the respective execution. n8n recommends configuring n8n to prune execution data automatically every few days to avoid effortful GDPR request handling as much as possible. Configure this using the `EXECUTIONS_DATA_MAX_AGE` environment variable. Refer to [Environment variables](/hosting/configuration/environment-variables/) for more information.
diff --git a/_snippets/self-hosting/installation/latest-next-version.md b/_snippets/self-hosting/installation/latest-next-version.md
index 132adf41b..36ae4afbc 100644
--- a/_snippets/self-hosting/installation/latest-next-version.md
+++ b/_snippets/self-hosting/installation/latest-next-version.md
@@ -1,6 +1,6 @@
/// note | Latest and Next versions
n8n releases a new minor version most weeks. The `latest` version is for production use. `next` is the most recent release. You should treat `next` as a beta: it may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
-Current `latest`: 1.29.1
-Current `next`: 1.30.1
+Current `latest`: 1.36.1
+Current `next`: 1.37.0
///
diff --git a/_snippets/self-hosting/installation/server-setups-next-steps.md b/_snippets/self-hosting/installation/server-setups-next-steps.md
index 8d45f90fe..c05f9fc7b 100644
--- a/_snippets/self-hosting/installation/server-setups-next-steps.md
+++ b/_snippets/self-hosting/installation/server-setups-next-steps.md
@@ -1,2 +1,2 @@
-* Learn more about [configuring](/hosting/environment-variables/) and [scaling](/hosting/scaling/) n8n.
+* Learn more about [configuring](/hosting/configuration/) and [scaling](/hosting/scaling/) n8n.
* Or explore using n8n: try the [Quickstarts](/try-it-out/).
diff --git a/_snippets/update-n8n.md b/_snippets/update-n8n.md
index f75659d18..cdf2bd5c3 100644
--- a/_snippets/update-n8n.md
+++ b/_snippets/update-n8n.md
@@ -2,7 +2,7 @@
The steps to update your n8n depend on which n8n platform you use. Refer to the documentation for your n8n:
-* [Cloud](/choose-n8n/cloud/)
-* [Self-hosted options](/hosting/installation/):
+* [Cloud](/manage-cloud/update-cloud-version/)
+* Self-hosted options:
* [npm](/hosting/installation/npm/)
* [Docker](/hosting/installation/docker/)
diff --git a/_submodules/insiders b/_submodules/insiders
index 199b01479..9e8c3d99d 160000
--- a/_submodules/insiders
+++ b/_submodules/insiders
@@ -1 +1 @@
-Subproject commit 199b01479f8770cee3a3b3456edf0103c68bd468
+Subproject commit 9e8c3d99dadb89624b67c0f9f28389d14dd7cbdd
diff --git a/_yaml/data-functions.yml b/_yaml/data-functions.yml
index 00279f335..832b3bfec 100644
--- a/_yaml/data-functions.yml
+++ b/_yaml/data-functions.yml
@@ -8,6 +8,12 @@ df_types:
- month
- year
df_string:
+ - funcName: base64Encode
+ returns: A base64 encoded string.
+ description: Encode a string as base64.
+ - funcName: base64Decode
+ returns: A plain string.
+ description: Convert a base64 encoded string to a normal string.
- funcName: extractDomain
returns: String
description: Extracts a domain from a string containing a valid URL. Returns undefined if none is found.
@@ -17,6 +23,9 @@ df_string:
- funcName: extractUrl
returns: String
description: Extracts a URL from a string. Returns undefined if none is found.
+ - funcName: extractUrlPath
+ returns: String
+ description: Extract the path but not the root domain from a URL. For example, "https://example.com/orders/1/details".extractUrlPath() returns "/orders/1/details/".
- funcName: hash
args:
- argName: algo
@@ -55,6 +64,9 @@ df_string:
- funcName: isUrl
returns: Boolean
description: Checks if a string is a valid URL.
+ - funcName: parseJson
+ returns: Object
+ description: Equivalent of JSON.parse(). Parses a string as a JSON object.
- funcName: quote
args:
- argName: mark
@@ -75,9 +87,12 @@ df_string:
- funcName: removeTags
returns: String
description: Remove tags, such as HTML or XML, from a string.
- - funcName: toDate
+ - funcName: toBoolean
+ returns: Boolean
+ description: Convert a string to a boolean. "false", "0", "", and "no" convert to false.
+ - funcName: toDateTime
returns: Date
- description: Converts a string to a date.
+ description: Converts a string to a Luxon date object.
- funcName: toDecimalNumber
returns: Number
description: See toFloat
@@ -171,6 +186,9 @@ df_object:
- funcName: compact
returns: Object
description: Removes empty values from an Object.
+ - funcName: toJsonString
+ returns: String
+ description: Convert an object to a JSON string. Equivalent of JSON.stringify.
- funcName: urlEncode
returns: String
description: Transforms an Object into a URL parameter list. Only top-level keys are supported.
@@ -212,6 +230,18 @@ df_number:
description: How many decimal places to round to.
returns: Number
description: Returns the value of a number rounded to the nearest whole number, unless a decimal place is specified.
+ - funcName: toBoolean
+ returns: Boolean
+ description: Converts a number to a boolean. 0 converts to false. All other values convert to true.
+ - funcName: toDateTime
+ args:
+ - argName: format
+ optional: true
+ longName: String
+ type: String enum
+ description: Can be ms (milliseconds), s (seconds), or excel (Excel 1900). Defaults to milliseconds.
+ returns: Date
+ description: Converts a number to a Luxon date object.
df_date:
- funcName: beginningOf
args:
@@ -316,6 +346,9 @@ df_date:
options: *df_durationUnit
returns: Date
description: Adds a given time period to a Date. Returns either a JavaScript Date or Luxon Date, depending on input.
+ - funcName: toDateTime
+ returns: Date
+ description: Converts a JavaScript date to a Luxon date object.
df_array:
- funcName: average
returns: Number
@@ -432,6 +465,9 @@ df_array:
- funcName: sum
returns: Number
description: Returns the total sum all the values in an array of parsable numbers.
+ - funcName: toJsonString
+ returns: String
+ description: Convert an array to a JSON string. Equivalent of JSON.stringify.
- funcName: union
args:
- argName: arr
@@ -450,3 +486,7 @@ df_array:
description: A key, or comma-separated list of keys, to check for duplicates.
returns: Array
description: Remove duplicates from an array.
+df_boolean:
+ - funcName: toInt
+ returns: Number
+ description: Convert a boolean to a number. false converts to 0, true converts to 1.
diff --git a/docs/1-0-migration-checklist.md b/docs/1-0-migration-checklist.md
index 3de365c7a..93cc4b9fb 100644
--- a/docs/1-0-migration-checklist.md
+++ b/docs/1-0-migration-checklist.md
@@ -131,7 +131,7 @@ If you build custom nodes, refer to [HTTP request helpers](/integrations/creatin
### Removed WEBHOOK_TUNNEL_URL
-As of version 0.227.0, n8n has renamed the `WEBHOOK_TUNNEL_URL` configuration option to `WEBHOOK_URL`. In n8n 1.0, `WEBHOOK_TUNNEL_URL` has been removed. Update your setup to reflect the new name. For more information about this configuration option, refer to [the docs](/hosting/environment-variables/configuration-methods/#webhook-url).
+As of version 0.227.0, n8n has renamed the `WEBHOOK_TUNNEL_URL` configuration option to `WEBHOOK_URL`. In n8n 1.0, `WEBHOOK_TUNNEL_URL` has been removed. Update your setup to reflect the new name. For more information about this configuration option, refer to [the docs](/hosting/configuration/configuration-methods/#webhook-url).
[PR #1408](https://github.com/n8n-io/n8n/pull/1408){:target=_blank .external link}
diff --git a/docs/_extra/css/extra.css b/docs/_extra/css/extra.css
index 35941a709..87852d386 100644
--- a/docs/_extra/css/extra.css
+++ b/docs/_extra/css/extra.css
@@ -20,7 +20,7 @@
--color-text-base: #58585F;
--color-text-dark: #555555;
--color-background-base: #f2f4f8;
- --color-background-dark: #101330;
+ --color-background-dark: #40425E;
--color-background-darker: hsl( 240, 4.2%, 14% );
--color-background-light: #f2f4f8;
--color-foreground-base: #dbdfe7;
@@ -92,6 +92,7 @@
[data-md-color-scheme="light"] .md-search__input {
border: 1px solid var(--color-foreground-base);
background-color: white;
+ color: var(--color-text-dark);
}
[data-md-color-scheme="light"] .md-search__input::placeholder {
@@ -174,6 +175,15 @@
.md-typeset table:not([class]) {
font-size: 0.75rem
}
+
+ /* display tables at full width */
+ .md-typeset__table {
+ width: 100%;
+ }
+
+ .md-typeset__table table:not([class]) {
+ display: table
+ }
/* img borders */
@@ -219,6 +229,12 @@
background-color: var(--color-text-base);
}
+/* better left nav spacing */
+
+.md-nav__item--section {
+ margin-top: 1.75em;
+}
+
/* extra top nav */
.n8n-top-nav {
@@ -226,7 +242,7 @@
}
.n8n-top-nav-list {
- border-bottom: 1px solid hsl(170, 69%, 35%, 0.5);
+ border-bottom: 1px solid #707183;
}
/* ensure headings don't disappear below top nav after adding extra top nav */
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-2-airtable-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-2-airtable-node.png
index c73664d2f..897a00830 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-2-airtable-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-2-airtable-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-2-workflow-with-airtable-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-2-workflow-with-airtable-node.png
index 5a5e2d1cf..49f7896b3 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-2-workflow-with-airtable-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-2-workflow-with-airtable-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-4-set-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-4-set-node.png
index 9381053a6..dcf07a5e2 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-4-set-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-4-set-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-4-workflow-with-set-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-4-workflow-with-set-node.png
index fce24b156..1479db9f7 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-4-workflow-with-set-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-4-workflow-with-set-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node-window.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node-window.png
index 6fb58c4ed..1d1d73ecd 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node-window.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node-window.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node.png
index 30d768e8f..12cfd4980 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-1-http-request-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-open-editor.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-open-editor.png
new file mode 100644
index 000000000..6cc76792f
Binary files /dev/null and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-open-editor.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-output.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-output.png
index c0f1310ea..7f400efef 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-output.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-if-node-output.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-workflow-with-if-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-workflow-with-if-node.png
index 9076e5a42..f680dcc11 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-workflow-with-if-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-3-workflow-with-if-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-5-code-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-5-code-node.png
index 5c53ccfc9..d97681c64 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-5-code-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-5-code-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-6-discord-output.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-6-discord-output.png
new file mode 100644
index 000000000..dbac49723
Binary files /dev/null and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-6-discord-output.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-inactivated-workflow.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-inactivated-workflow.png
new file mode 100644
index 000000000..03743a552
Binary files /dev/null and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-inactivated-workflow.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-schedule-trigger-node.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-schedule-trigger-node.png
index bd1f1cb1d..d0422b6c3 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-schedule-trigger-node.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-7-schedule-trigger-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-five/l1-c5-5-8-activated-workflow.png b/docs/_images/courses/level-one/chapter-five/l1-c5-5-8-activated-workflow.png
index a29a2fc29..872ffaf38 100644
Binary files a/docs/_images/courses/level-one/chapter-five/l1-c5-5-8-activated-workflow.png and b/docs/_images/courses/level-one/chapter-five/l1-c5-5-8-activated-workflow.png differ
diff --git a/docs/_images/courses/level-one/chapter-one/l1-c1-canvas.png b/docs/_images/courses/level-one/chapter-one/l1-c1-canvas.png
index 0ab72290f..6cc5a73c7 100644
Binary files a/docs/_images/courses/level-one/chapter-one/l1-c1-canvas.png and b/docs/_images/courses/level-one/chapter-one/l1-c1-canvas.png differ
diff --git a/docs/_images/courses/level-one/chapter-one/l1-c1-editor-ui.png b/docs/_images/courses/level-one/chapter-one/l1-c1-editor-ui.png
index 097fcafa3..84c93958b 100644
Binary files a/docs/_images/courses/level-one/chapter-one/l1-c1-editor-ui.png and b/docs/_images/courses/level-one/chapter-one/l1-c1-editor-ui.png differ
diff --git a/docs/_images/courses/level-one/chapter-six/l1-c6-import-export-menu.png b/docs/_images/courses/level-one/chapter-six/l1-c6-import-export-menu.png
index 1828c8c7d..137a6b8c8 100644
Binary files a/docs/_images/courses/level-one/chapter-six/l1-c6-import-export-menu.png and b/docs/_images/courses/level-one/chapter-six/l1-c6-import-export-menu.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c-2-hacker-news-node-parameters.png b/docs/_images/courses/level-one/chapter-two/l1-c-2-hacker-news-node-parameters.png
index c8bb979fd..cdb2ffd15 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c-2-hacker-news-node-parameters.png and b/docs/_images/courses/level-one/chapter-two/l1-c-2-hacker-news-node-parameters.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c2-hacker-news-node-setting-configuration.png b/docs/_images/courses/level-one/chapter-two/l1-c2-hacker-news-node-setting-configuration.png
index 4c5f0bf52..e80dc320e 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c2-hacker-news-node-setting-configuration.png and b/docs/_images/courses/level-one/chapter-two/l1-c2-hacker-news-node-setting-configuration.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c2-renaming-a-node-from-the-keyboard.png b/docs/_images/courses/level-one/chapter-two/l1-c2-renaming-a-node-from-the-keyboard.png
index 41701757a..9748b1419 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c2-renaming-a-node-from-the-keyboard.png and b/docs/_images/courses/level-one/chapter-two/l1-c2-renaming-a-node-from-the-keyboard.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-json-view-for-the-hacker-news-node.png b/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-json-view-for-the-hacker-news-node.png
index a77bf4c8b..38eb44ca7 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-json-view-for-the-hacker-news-node.png and b/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-json-view-for-the-hacker-news-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-table-view-for-the-hacker-news-node.png b/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-table-view-for-the-hacker-news-node.png
index 8a761501b..9bf418c34 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-table-view-for-the-hacker-news-node.png and b/docs/_images/courses/level-one/chapter-two/l1-c2-results-in-table-view-for-the-hacker-news-node.png differ
diff --git a/docs/_images/courses/level-one/chapter-two/l1-c2-successfully-executed-workflow.png b/docs/_images/courses/level-one/chapter-two/l1-c2-successfully-executed-workflow.png
index 9c7a2cb67..070fb3985 100644
Binary files a/docs/_images/courses/level-one/chapter-two/l1-c2-successfully-executed-workflow.png and b/docs/_images/courses/level-one/chapter-two/l1-c2-successfully-executed-workflow.png differ
diff --git a/docs/_images/courses/level-two/chapter-five/workflow1.png b/docs/_images/courses/level-two/chapter-five/workflow1.png
index e2ea7063a..50b11aad9 100644
Binary files a/docs/_images/courses/level-two/chapter-five/workflow1.png and b/docs/_images/courses/level-two/chapter-five/workflow1.png differ
diff --git a/docs/_images/courses/level-two/chapter-one/exercise_function.png b/docs/_images/courses/level-two/chapter-one/exercise_function.png
index 57c3070f5..051f92f62 100644
Binary files a/docs/_images/courses/level-two/chapter-one/exercise_function.png and b/docs/_images/courses/level-two/chapter-one/exercise_function.png differ
diff --git a/docs/_images/courses/level-two/chapter-one/exercise_function_notnested.png b/docs/_images/courses/level-two/chapter-one/exercise_function_notnested.png
index 2409c4043..e7b98a0d5 100644
Binary files a/docs/_images/courses/level-two/chapter-one/exercise_function_notnested.png and b/docs/_images/courses/level-two/chapter-one/exercise_function_notnested.png differ
diff --git a/docs/_images/courses/level-two/chapter-one/exercise_function_reference.png b/docs/_images/courses/level-two/chapter-one/exercise_function_reference.png
index 7751bfb52..e1ee67d59 100644
Binary files a/docs/_images/courses/level-two/chapter-one/exercise_function_reference.png and b/docs/_images/courses/level-two/chapter-one/exercise_function_reference.png differ
diff --git a/docs/_images/courses/level-two/chapter-two/exercise_binarydata_httprequest_file.png b/docs/_images/courses/level-two/chapter-two/exercise_binarydata_httprequest_file.png
index 3b6e4072f..1c06b9027 100644
Binary files a/docs/_images/courses/level-two/chapter-two/exercise_binarydata_httprequest_file.png and b/docs/_images/courses/level-two/chapter-two/exercise_binarydata_httprequest_file.png differ
diff --git a/docs/_images/courses/level-two/chapter-two/exercise_binarydata_movedata_btoj.png b/docs/_images/courses/level-two/chapter-two/exercise_binarydata_movedata_btoj.png
index 036c1c86b..2090742ce 100644
Binary files a/docs/_images/courses/level-two/chapter-two/exercise_binarydata_movedata_btoj.png and b/docs/_images/courses/level-two/chapter-two/exercise_binarydata_movedata_btoj.png differ
diff --git a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node.png b/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node.png
deleted file mode 100644
index 6b4baf0d1..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node1.png b/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node1.png
deleted file mode 100644
index 64057739b..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node1.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node2.png b/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node2.png
deleted file mode 100644
index 4012a0672..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/actionnetwork/action_network_node2.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/actionnetwork/workflow.png b/docs/_images/integrations/builtin/app-nodes/actionnetwork/workflow.png
deleted file mode 100644
index 721be6e85..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/actionnetwork/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/activecampaign/workflow.png b/docs/_images/integrations/builtin/app-nodes/activecampaign/workflow.png
deleted file mode 100644
index 38d5a9f4e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/activecampaign/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/affinity/workflow.png b/docs/_images/integrations/builtin/app-nodes/affinity/workflow.png
deleted file mode 100644
index e660dbedf..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/affinity/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/agilecrm/workflow.png b/docs/_images/integrations/builtin/app-nodes/agilecrm/workflow.png
deleted file mode 100644
index c3957cfff..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/agilecrm/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/asana/workflow.png b/docs/_images/integrations/builtin/app-nodes/asana/workflow.png
deleted file mode 100644
index 5ab054cbb..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/asana/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/awsdynamodb/workflow.png b/docs/_images/integrations/builtin/app-nodes/awsdynamodb/workflow.png
deleted file mode 100644
index 036a56615..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/awsdynamodb/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/awslambda/workflow.png b/docs/_images/integrations/builtin/app-nodes/awslambda/workflow.png
deleted file mode 100644
index 61d29f164..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/awslambda/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/awss3/workflow.png b/docs/_images/integrations/builtin/app-nodes/awss3/workflow.png
deleted file mode 100644
index b07fb5b29..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/awss3/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/awsses/workflow.png b/docs/_images/integrations/builtin/app-nodes/awsses/workflow.png
deleted file mode 100644
index 0d490212a..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/awsses/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/awssns/workflow.png b/docs/_images/integrations/builtin/app-nodes/awssns/workflow.png
deleted file mode 100644
index 350fc9c5f..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/awssns/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/bannerbear/workflow.png b/docs/_images/integrations/builtin/app-nodes/bannerbear/workflow.png
deleted file mode 100644
index fab8c4457..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/bannerbear/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/bitly/workflow.png b/docs/_images/integrations/builtin/app-nodes/bitly/workflow.png
deleted file mode 100644
index 126bf5018..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/bitly/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/box/workflow.png b/docs/_images/integrations/builtin/app-nodes/box/workflow.png
deleted file mode 100644
index 0dab84c03..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/box/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/chargebee/workflow.png b/docs/_images/integrations/builtin/app-nodes/chargebee/workflow.png
deleted file mode 100644
index 63d4bc487..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/chargebee/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/circleci/workflow.png b/docs/_images/integrations/builtin/app-nodes/circleci/workflow.png
deleted file mode 100644
index ca65a4dbb..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/circleci/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ciscowebex/webex_node.png b/docs/_images/integrations/builtin/app-nodes/ciscowebex/webex_node.png
deleted file mode 100644
index d9ec1ed68..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ciscowebex/webex_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ciscowebex/workflow.png b/docs/_images/integrations/builtin/app-nodes/ciscowebex/workflow.png
deleted file mode 100644
index 25e6d7807..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ciscowebex/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/clearbit/workflow.png b/docs/_images/integrations/builtin/app-nodes/clearbit/workflow.png
deleted file mode 100644
index 5b3f5a6f8..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/clearbit/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/clickup/workflow.png b/docs/_images/integrations/builtin/app-nodes/clickup/workflow.png
deleted file mode 100644
index 6145511e4..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/clickup/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/cockpit/workflow.png b/docs/_images/integrations/builtin/app-nodes/cockpit/workflow.png
deleted file mode 100644
index 37986beda..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/cockpit/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/contentful/contentful_node.png b/docs/_images/integrations/builtin/app-nodes/contentful/contentful_node.png
deleted file mode 100644
index e7c2e1b0f..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/contentful/contentful_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/contentful/workflow.png b/docs/_images/integrations/builtin/app-nodes/contentful/workflow.png
deleted file mode 100644
index 4c45b4a79..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/contentful/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/copper/copper1_node.png b/docs/_images/integrations/builtin/app-nodes/copper/copper1_node.png
deleted file mode 100644
index 4a92daa8f..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/copper/copper1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/copper/copper2_node.png b/docs/_images/integrations/builtin/app-nodes/copper/copper2_node.png
deleted file mode 100644
index 70d783ccd..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/copper/copper2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/copper/copper_node.png b/docs/_images/integrations/builtin/app-nodes/copper/copper_node.png
deleted file mode 100644
index 9ee560303..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/copper/copper_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/copper/workflow.png b/docs/_images/integrations/builtin/app-nodes/copper/workflow.png
deleted file mode 100644
index 90daa6a34..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/copper/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/disqus/workflow.png b/docs/_images/integrations/builtin/app-nodes/disqus/workflow.png
deleted file mode 100644
index c2daa47b1..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/disqus/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/drift/workflow.png b/docs/_images/integrations/builtin/app-nodes/drift/workflow.png
deleted file mode 100644
index b92353b91..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/drift/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/elasticsearch/elasticsearch_node.png b/docs/_images/integrations/builtin/app-nodes/elasticsearch/elasticsearch_node.png
deleted file mode 100644
index e9ecb358b..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/elasticsearch/elasticsearch_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/elasticsearch/workflow.png b/docs/_images/integrations/builtin/app-nodes/elasticsearch/workflow.png
deleted file mode 100644
index 009976ec1..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/elasticsearch/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext1_node.png b/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext1_node.png
deleted file mode 100644
index b1b5802cb..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext2_node.png b/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext2_node.png
deleted file mode 100644
index 68c4807ee..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext_node.png b/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext_node.png
deleted file mode 100644
index 50fad3b29..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/erpnext/erpnext_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/erpnext/workflow.png b/docs/_images/integrations/builtin/app-nodes/erpnext/workflow.png
deleted file mode 100644
index c80f03c6c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/erpnext/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker1_node.png b/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker1_node.png
deleted file mode 100644
index b949d979e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker2_node.png b/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker2_node.png
deleted file mode 100644
index 53c93382c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker_node.png b/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker_node.png
deleted file mode 100644
index dc032ddea..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/filemaker/filemaker_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/filemaker/workflow.png b/docs/_images/integrations/builtin/app-nodes/filemaker/workflow.png
deleted file mode 100644
index b17ea663b..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/filemaker/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/flow/workflow.png b/docs/_images/integrations/builtin/app-nodes/flow/workflow.png
deleted file mode 100644
index 0b2230732..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/flow/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/freshdesk/workflow.png b/docs/_images/integrations/builtin/app-nodes/freshdesk/workflow.png
deleted file mode 100644
index 5cde59f2e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/freshdesk/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/freshservice/workflow.png b/docs/_images/integrations/builtin/app-nodes/freshservice/workflow.png
deleted file mode 100644
index 9f33c0136..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/freshservice/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/freshworkscrm/freshworkscrm_node.png b/docs/_images/integrations/builtin/app-nodes/freshworkscrm/freshworkscrm_node.png
deleted file mode 100644
index db8b23f98..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/freshworkscrm/freshworkscrm_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/freshworkscrm/workflow.png b/docs/_images/integrations/builtin/app-nodes/freshworkscrm/workflow.png
deleted file mode 100644
index dc0988745..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/freshworkscrm/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse1_node.png b/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse1_node.png
deleted file mode 100644
index 18e2d1459..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse_node.png b/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse_node.png
deleted file mode 100644
index 5bc21e2aa..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/getresponse/getresponse_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/getresponse/if_node.png b/docs/_images/integrations/builtin/app-nodes/getresponse/if_node.png
deleted file mode 100644
index d73d5b420..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/getresponse/if_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/getresponse/noop_node.png b/docs/_images/integrations/builtin/app-nodes/getresponse/noop_node.png
deleted file mode 100644
index 934a96a89..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/getresponse/noop_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/getresponse/workflow.png b/docs/_images/integrations/builtin/app-nodes/getresponse/workflow.png
deleted file mode 100644
index e7720fc18..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/getresponse/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ghost/ghost1_node.png b/docs/_images/integrations/builtin/app-nodes/ghost/ghost1_node.png
deleted file mode 100644
index 7c14382b8..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ghost/ghost1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ghost/ghost2_node.png b/docs/_images/integrations/builtin/app-nodes/ghost/ghost2_node.png
deleted file mode 100644
index 8c53855eb..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ghost/ghost2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ghost/ghost_node.png b/docs/_images/integrations/builtin/app-nodes/ghost/ghost_node.png
deleted file mode 100644
index a38570b3a..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ghost/ghost_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/ghost/workflow.png b/docs/_images/integrations/builtin/app-nodes/ghost/workflow.png
deleted file mode 100644
index b09421fc6..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/ghost/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/github/workflow.png b/docs/_images/integrations/builtin/app-nodes/github/workflow.png
deleted file mode 100644
index a05fba6d9..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/github/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/gitlab/workflow.png b/docs/_images/integrations/builtin/app-nodes/gitlab/workflow.png
deleted file mode 100644
index 901ad2730..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/gitlab/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleanalytics/airtable_node.png b/docs/_images/integrations/builtin/app-nodes/googleanalytics/airtable_node.png
deleted file mode 100644
index fb41f387e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleanalytics/airtable_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleanalytics/analytics_node.png b/docs/_images/integrations/builtin/app-nodes/googleanalytics/analytics_node.png
deleted file mode 100644
index 3ef628758..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleanalytics/analytics_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleanalytics/set_node.png b/docs/_images/integrations/builtin/app-nodes/googleanalytics/set_node.png
deleted file mode 100644
index 641d64040..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleanalytics/set_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleanalytics/workflow.png b/docs/_images/integrations/builtin/app-nodes/googleanalytics/workflow.png
deleted file mode 100644
index c2068b2ed..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleanalytics/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlebigquery/cron_node.png b/docs/_images/integrations/builtin/app-nodes/googlebigquery/cron_node.png
deleted file mode 100644
index 56d2d16b7..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlebigquery/cron_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlebigquery/googlebigquery_node.png b/docs/_images/integrations/builtin/app-nodes/googlebigquery/googlebigquery_node.png
deleted file mode 100644
index 7c501fc26..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlebigquery/googlebigquery_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlebigquery/httprequest_node.png b/docs/_images/integrations/builtin/app-nodes/googlebigquery/httprequest_node.png
deleted file mode 100644
index d4edf8573..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlebigquery/httprequest_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlebigquery/set_node.png b/docs/_images/integrations/builtin/app-nodes/googlebigquery/set_node.png
deleted file mode 100644
index 60173b923..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlebigquery/set_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlebigquery/workflow.png b/docs/_images/integrations/builtin/app-nodes/googlebigquery/workflow.png
deleted file mode 100644
index 4b8a945e1..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlebigquery/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googlecalendar/workflow.png b/docs/_images/integrations/builtin/app-nodes/googlecalendar/workflow.png
deleted file mode 100644
index 1bd9c634d..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googlecalendar/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleperspective/googleperspective_node.png b/docs/_images/integrations/builtin/app-nodes/googleperspective/googleperspective_node.png
deleted file mode 100644
index 7201607ce..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleperspective/googleperspective_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googleperspective/workflow.png b/docs/_images/integrations/builtin/app-nodes/googleperspective/workflow.png
deleted file mode 100644
index ba2f8ae35..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googleperspective/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googletasks/workflow.png b/docs/_images/integrations/builtin/app-nodes/googletasks/workflow.png
deleted file mode 100644
index bed1f3dd8..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googletasks/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googletranslate/googletranslate_node.png b/docs/_images/integrations/builtin/app-nodes/googletranslate/googletranslate_node.png
deleted file mode 100644
index a68e4e9e0..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googletranslate/googletranslate_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/googletranslate/workflow.png b/docs/_images/integrations/builtin/app-nodes/googletranslate/workflow.png
deleted file mode 100644
index 72ee8f140..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/googletranslate/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/grist1_node.png b/docs/_images/integrations/builtin/app-nodes/grist/grist1_node.png
deleted file mode 100644
index 74d7b90b2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/grist1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/grist2_node.png b/docs/_images/integrations/builtin/app-nodes/grist/grist2_node.png
deleted file mode 100644
index 7bb1ba04c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/grist2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/grist_node.png b/docs/_images/integrations/builtin/app-nodes/grist/grist_node.png
deleted file mode 100644
index d55a96ed2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/grist_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/table_create.png b/docs/_images/integrations/builtin/app-nodes/grist/table_create.png
deleted file mode 100644
index c0f1f9f66..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/table_create.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/table_start.png b/docs/_images/integrations/builtin/app-nodes/grist/table_start.png
deleted file mode 100644
index 482196f8e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/table_start.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/table_update.png b/docs/_images/integrations/builtin/app-nodes/grist/table_update.png
deleted file mode 100644
index b4e1cf3d2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/table_update.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/grist/workflow.png b/docs/_images/integrations/builtin/app-nodes/grist/workflow.png
deleted file mode 100644
index 4fc5a91b4..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/grist/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/hackernews/workflow.png b/docs/_images/integrations/builtin/app-nodes/hackernews/workflow.png
deleted file mode 100644
index 942e15fce..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/hackernews/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/harvest/workflow.png b/docs/_images/integrations/builtin/app-nodes/harvest/workflow.png
deleted file mode 100644
index 93719d53a..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/harvest/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/helpscout/workflow.png b/docs/_images/integrations/builtin/app-nodes/helpscout/workflow.png
deleted file mode 100644
index eaa607991..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/helpscout/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/hubspot/workflow.png b/docs/_images/integrations/builtin/app-nodes/hubspot/workflow.png
deleted file mode 100644
index 004f32ef8..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/hubspot/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/hunter/workflow.png b/docs/_images/integrations/builtin/app-nodes/hunter/workflow.png
deleted file mode 100644
index 2d08f07e3..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/hunter/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/intercom/workflow.png b/docs/_images/integrations/builtin/app-nodes/intercom/workflow.png
deleted file mode 100644
index 3f1fcfc20..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/intercom/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/invoiceninja/workflow.png b/docs/_images/integrations/builtin/app-nodes/invoiceninja/workflow.png
deleted file mode 100644
index 591e9a122..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/invoiceninja/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/jira/workflow.png b/docs/_images/integrations/builtin/app-nodes/jira/workflow.png
deleted file mode 100644
index 6bbff2164..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/jira/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/keap/workflow.png b/docs/_images/integrations/builtin/app-nodes/keap/workflow.png
deleted file mode 100644
index 3b2251787..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/keap/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mailchimp/workflow.png b/docs/_images/integrations/builtin/app-nodes/mailchimp/workflow.png
deleted file mode 100644
index 17a121507..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mailchimp/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mailgun/workflow.png b/docs/_images/integrations/builtin/app-nodes/mailgun/workflow.png
deleted file mode 100644
index 9fae3e7ff..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mailgun/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mailjet/workflow.png b/docs/_images/integrations/builtin/app-nodes/mailjet/workflow.png
deleted file mode 100644
index bc24737a2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mailjet/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mandrill/workflow.png b/docs/_images/integrations/builtin/app-nodes/mandrill/workflow.png
deleted file mode 100644
index 559ec19b7..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mandrill/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/marketstack/marketstack_node.png b/docs/_images/integrations/builtin/app-nodes/marketstack/marketstack_node.png
deleted file mode 100644
index 9d9ebe661..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/marketstack/marketstack_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/marketstack/workflow.png b/docs/_images/integrations/builtin/app-nodes/marketstack/workflow.png
deleted file mode 100644
index f943db282..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/marketstack/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost1_node.png b/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost1_node.png
deleted file mode 100644
index aebe58da7..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost2_node.png b/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost2_node.png
deleted file mode 100644
index 355b42180..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost_node.png b/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost_node.png
deleted file mode 100644
index 8d8ed7e7b..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mattermost/mattermost_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mattermost/workflow.png b/docs/_images/integrations/builtin/app-nodes/mattermost/workflow.png
deleted file mode 100644
index 5126f8c50..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mattermost/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mautic/workflow.png b/docs/_images/integrations/builtin/app-nodes/mautic/workflow.png
deleted file mode 100644
index 8e1464be2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mautic/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/messagebird/workflow.png b/docs/_images/integrations/builtin/app-nodes/messagebird/workflow.png
deleted file mode 100644
index bd7e9e6fd..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/messagebird/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/microsoftexcel/workflow.png b/docs/_images/integrations/builtin/app-nodes/microsoftexcel/workflow.png
deleted file mode 100644
index f3da99cdc..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/microsoftexcel/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/microsoftonedrive/workflow.png b/docs/_images/integrations/builtin/app-nodes/microsoftonedrive/workflow.png
deleted file mode 100644
index c469d24b6..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/microsoftonedrive/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/microsoftsql/workflow.png b/docs/_images/integrations/builtin/app-nodes/microsoftsql/workflow.png
deleted file mode 100644
index 0aaed0a5d..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/microsoftsql/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mocean/mocean_node.png b/docs/_images/integrations/builtin/app-nodes/mocean/mocean_node.png
deleted file mode 100644
index 9620bbade..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mocean/mocean_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mocean/workflow.png b/docs/_images/integrations/builtin/app-nodes/mocean/workflow.png
deleted file mode 100644
index b4a8ff1ee..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mocean/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/mondaycom/workflow.png b/docs/_images/integrations/builtin/app-nodes/mondaycom/workflow.png
deleted file mode 100644
index f0c83ca27..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/mondaycom/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/monicacrm/monicacrm_node.png b/docs/_images/integrations/builtin/app-nodes/monicacrm/monicacrm_node.png
deleted file mode 100644
index 2e29b6559..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/monicacrm/monicacrm_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/monicacrm/workflow.png b/docs/_images/integrations/builtin/app-nodes/monicacrm/workflow.png
deleted file mode 100644
index 43d7c56b6..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/monicacrm/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/msg91/workflow.png b/docs/_images/integrations/builtin/app-nodes/msg91/workflow.png
deleted file mode 100644
index c53079964..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/msg91/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/nocodb/nocodb_node.png b/docs/_images/integrations/builtin/app-nodes/nocodb/nocodb_node.png
deleted file mode 100644
index 7a1e04aa5..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/nocodb/nocodb_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/nocodb/workflow.png b/docs/_images/integrations/builtin/app-nodes/nocodb/workflow.png
deleted file mode 100644
index ab8f146e1..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/nocodb/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/notion/calendlytrigger_node.png b/docs/_images/integrations/builtin/app-nodes/notion/calendlytrigger_node.png
deleted file mode 100644
index 47ed1b5f9..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/notion/calendlytrigger_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/notion/notion_node.png b/docs/_images/integrations/builtin/app-nodes/notion/notion_node.png
deleted file mode 100644
index e7d91e588..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/notion/notion_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/notion/workflow.png b/docs/_images/integrations/builtin/app-nodes/notion/workflow.png
deleted file mode 100644
index 3bd7c1bf2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/notion/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/openweathermap/workflow.png b/docs/_images/integrations/builtin/app-nodes/openweathermap/workflow.png
deleted file mode 100644
index c4c31e20e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/openweathermap/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/paypal/workflow.png b/docs/_images/integrations/builtin/app-nodes/paypal/workflow.png
deleted file mode 100644
index b55145ad4..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/paypal/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/pipedrive/workflow.png b/docs/_images/integrations/builtin/app-nodes/pipedrive/workflow.png
deleted file mode 100644
index 2d6e64cde..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/pipedrive/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks1_node.png b/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks1_node.png
deleted file mode 100644
index 371d134f9..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks2_node.png b/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks2_node.png
deleted file mode 100644
index 78ab616ee..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks_node.png b/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks_node.png
deleted file mode 100644
index 274b99206..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/quickbooks/quickbooks_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/quickbooks/workflow.png b/docs/_images/integrations/builtin/app-nodes/quickbooks/workflow.png
deleted file mode 100644
index 68f6abaa4..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/quickbooks/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/rundeck/workflow.png b/docs/_images/integrations/builtin/app-nodes/rundeck/workflow.png
deleted file mode 100644
index aaba2d132..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/rundeck/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/s3/acl_dropdown.png b/docs/_images/integrations/builtin/app-nodes/s3/acl_dropdown.png
new file mode 100644
index 000000000..8ff470fda
Binary files /dev/null and b/docs/_images/integrations/builtin/app-nodes/s3/acl_dropdown.png differ
diff --git a/docs/_images/integrations/builtin/app-nodes/salesmate/workflow.png b/docs/_images/integrations/builtin/app-nodes/salesmate/workflow.png
deleted file mode 100644
index ac99b6000..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/salesmate/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard1_node.png b/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard1_node.png
deleted file mode 100644
index 371d34dd3..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard2_node.png b/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard2_node.png
deleted file mode 100644
index 2c2b9ba46..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard_node.png b/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard_node.png
deleted file mode 100644
index 7956c88f2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/securityscorecard/securityscorecard_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/securityscorecard/workflow.png b/docs/_images/integrations/builtin/app-nodes/securityscorecard/workflow.png
deleted file mode 100644
index fe4bfd113..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/securityscorecard/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/segment/workflow.png b/docs/_images/integrations/builtin/app-nodes/segment/workflow.png
deleted file mode 100644
index 3f1fc8e8e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/segment/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid1_node.png b/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid1_node.png
deleted file mode 100644
index 2aad8e708..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid2_node.png b/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid2_node.png
deleted file mode 100644
index cc354f174..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid_node.png b/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid_node.png
deleted file mode 100644
index 387079639..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sendgrid/sendgrid_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sendgrid/workflow.png b/docs/_images/integrations/builtin/app-nodes/sendgrid/workflow.png
deleted file mode 100644
index 33ae2de18..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sendgrid/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io1_node.png b/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io1_node.png
deleted file mode 100644
index c643ee806..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io_node.png b/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io_node.png
deleted file mode 100644
index 6e4ab3f53..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sentryio/sentry.io_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sentryio/workflow.png b/docs/_images/integrations/builtin/app-nodes/sentryio/workflow.png
deleted file mode 100644
index 36706ab7f..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sentryio/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/servicenow/servicenow_node.png b/docs/_images/integrations/builtin/app-nodes/servicenow/servicenow_node.png
deleted file mode 100644
index 9b9f0a350..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/servicenow/servicenow_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/servicenow/workflow.png b/docs/_images/integrations/builtin/app-nodes/servicenow/workflow.png
deleted file mode 100644
index ffdfa3782..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/servicenow/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/shopify/workflow.png b/docs/_images/integrations/builtin/app-nodes/shopify/workflow.png
deleted file mode 100644
index 7ff4ad3af..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/shopify/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/signl4/workflow.png b/docs/_images/integrations/builtin/app-nodes/signl4/workflow.png
deleted file mode 100644
index 2da79f81c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/signl4/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/httprequest_node.png b/docs/_images/integrations/builtin/app-nodes/slack/httprequest_node.png
deleted file mode 100644
index f6b4023c9..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/httprequest_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/slack1_node.png b/docs/_images/integrations/builtin/app-nodes/slack/slack1_node.png
deleted file mode 100644
index 29bcef393..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/slack1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/slack2_node.png b/docs/_images/integrations/builtin/app-nodes/slack/slack2_node.png
deleted file mode 100644
index ef837a3d0..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/slack2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/slack3_node.png b/docs/_images/integrations/builtin/app-nodes/slack/slack3_node.png
deleted file mode 100644
index d9fa8b940..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/slack3_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/slack_node.png b/docs/_images/integrations/builtin/app-nodes/slack/slack_node.png
deleted file mode 100644
index 8c21ba6f6..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/slack_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/slack/workflow.png b/docs/_images/integrations/builtin/app-nodes/slack/workflow.png
deleted file mode 100644
index b7585daf6..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/slack/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/sms77/workflow.png b/docs/_images/integrations/builtin/app-nodes/sms77/workflow.png
deleted file mode 100644
index dd1e43197..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/sms77/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/spotify/spotifyuri.gif b/docs/_images/integrations/builtin/app-nodes/spotify/spotifyuri.gif
deleted file mode 100644
index 1382be0e4..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/spotify/spotifyuri.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/spotify/workflow.png b/docs/_images/integrations/builtin/app-nodes/spotify/workflow.png
deleted file mode 100644
index a4ba4b1e5..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/spotify/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/stripe/stripe1_node.png b/docs/_images/integrations/builtin/app-nodes/stripe/stripe1_node.png
deleted file mode 100644
index 56bf93c8c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/stripe/stripe1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/stripe/stripe2_node.png b/docs/_images/integrations/builtin/app-nodes/stripe/stripe2_node.png
deleted file mode 100644
index 3a854749f..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/stripe/stripe2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/stripe/stripe_node.png b/docs/_images/integrations/builtin/app-nodes/stripe/stripe_node.png
deleted file mode 100644
index e44340dd2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/stripe/stripe_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/stripe/workflow.png b/docs/_images/integrations/builtin/app-nodes/stripe/workflow.png
deleted file mode 100644
index fe54c3814..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/stripe/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate1_node.png b/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate1_node.png
deleted file mode 100644
index d1b09004e..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate2_node.png b/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate2_node.png
deleted file mode 100644
index 9b17d55d3..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate_node.png b/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate_node.png
deleted file mode 100644
index aed63b1f9..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/tapfiliate/tapfiliate_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/tapfiliate/workflow.png b/docs/_images/integrations/builtin/app-nodes/tapfiliate/workflow.png
deleted file mode 100644
index 0f2fb9356..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/tapfiliate/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/telegram/cron_node.png b/docs/_images/integrations/builtin/app-nodes/telegram/cron_node.png
deleted file mode 100644
index fe7106fd2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/telegram/cron_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/telegram/httprequest_node.png b/docs/_images/integrations/builtin/app-nodes/telegram/httprequest_node.png
deleted file mode 100644
index fae05915d..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/telegram/httprequest_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/telegram/telegram_node.png b/docs/_images/integrations/builtin/app-nodes/telegram/telegram_node.png
deleted file mode 100644
index 931c6cc7a..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/telegram/telegram_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/telegram/workflow.png b/docs/_images/integrations/builtin/app-nodes/telegram/workflow.png
deleted file mode 100644
index 0c69ba623..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/telegram/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/thehive/thehive1_node.png b/docs/_images/integrations/builtin/app-nodes/thehive/thehive1_node.png
deleted file mode 100644
index 40e8177b7..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/thehive/thehive1_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/thehive/thehive2_node.png b/docs/_images/integrations/builtin/app-nodes/thehive/thehive2_node.png
deleted file mode 100644
index 487fe798c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/thehive/thehive2_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/thehive/thehive_node.png b/docs/_images/integrations/builtin/app-nodes/thehive/thehive_node.png
deleted file mode 100644
index 6dfb95076..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/thehive/thehive_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/thehive/workflow.png b/docs/_images/integrations/builtin/app-nodes/thehive/workflow.png
deleted file mode 100644
index 8eb9f3a0c..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/thehive/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/todoist/workflow.png b/docs/_images/integrations/builtin/app-nodes/todoist/workflow.png
deleted file mode 100644
index f9aaa553d..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/todoist/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/trello/workflow.png b/docs/_images/integrations/builtin/app-nodes/trello/workflow.png
deleted file mode 100644
index d9db34f80..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/trello/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/twake/twake_node.png b/docs/_images/integrations/builtin/app-nodes/twake/twake_node.png
deleted file mode 100644
index 0ca34b6fa..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/twake/twake_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/twake/workflow.png b/docs/_images/integrations/builtin/app-nodes/twake/workflow.png
deleted file mode 100644
index 0971311e8..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/twake/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/twilio/workflow.png b/docs/_images/integrations/builtin/app-nodes/twilio/workflow.png
deleted file mode 100644
index e5c47d494..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/twilio/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/twitter/workflow.png b/docs/_images/integrations/builtin/app-nodes/twitter/workflow.png
deleted file mode 100644
index 10e9b3dc5..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/twitter/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/unleashedsoftware_node.png b/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/unleashedsoftware_node.png
deleted file mode 100644
index 04e1cfc24..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/unleashedsoftware_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/workflow.png b/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/workflow.png
deleted file mode 100644
index 213597f8a..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/unleashedsoftware/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/uplead/workflow.png b/docs/_images/integrations/builtin/app-nodes/uplead/workflow.png
deleted file mode 100644
index 3bf930946..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/uplead/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/xero/workflow.png b/docs/_images/integrations/builtin/app-nodes/xero/workflow.png
deleted file mode 100644
index 3385a1142..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/xero/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/zendesk/workflow.png b/docs/_images/integrations/builtin/app-nodes/zendesk/workflow.png
deleted file mode 100644
index 194a9dcc2..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/zendesk/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/zohocrm/workflow.png b/docs/_images/integrations/builtin/app-nodes/zohocrm/workflow.png
deleted file mode 100644
index 67ee72a74..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/zohocrm/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/zoom/workflow.png b/docs/_images/integrations/builtin/app-nodes/zoom/workflow.png
deleted file mode 100644
index 9d6e17206..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/zoom/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/app-nodes/zulip/workflow.png b/docs/_images/integrations/builtin/app-nodes/zulip/workflow.png
deleted file mode 100644
index 2ec40a7ea..000000000
Binary files a/docs/_images/integrations/builtin/app-nodes/zulip/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/cron_node.png b/docs/_images/integrations/builtin/core-nodes/executecommand/cron_node.png
deleted file mode 100644
index 721db6682..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/cron_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/executecommand_node.png b/docs/_images/integrations/builtin/core-nodes/executecommand/executecommand_node.png
deleted file mode 100644
index 5b87d108a..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/executecommand_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/if_node.png b/docs/_images/integrations/builtin/core-nodes/executecommand/if_node.png
deleted file mode 100644
index eafa3bee2..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/if_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/noop_node.png b/docs/_images/integrations/builtin/core-nodes/executecommand/noop_node.png
deleted file mode 100644
index 934a96a89..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/noop_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/twilio_node.png b/docs/_images/integrations/builtin/core-nodes/executecommand/twilio_node.png
deleted file mode 100644
index 74aa6755b..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/twilio_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/executecommand/workflow.png b/docs/_images/integrations/builtin/core-nodes/executecommand/workflow.png
deleted file mode 100644
index 2a6333370..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/executecommand/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/rssfeedread/workflow.png b/docs/_images/integrations/builtin/core-nodes/rssfeedread/workflow.png
deleted file mode 100644
index 0936eaa70..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/rssfeedread/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/ssetrigger/workflow.png b/docs/_images/integrations/builtin/core-nodes/ssetrigger/workflow.png
deleted file mode 100644
index a9cae217c..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/ssetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/ssh/ssh_node.png b/docs/_images/integrations/builtin/core-nodes/ssh/ssh_node.png
deleted file mode 100644
index 554a9815f..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/ssh/ssh_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/ssh/workflow.png b/docs/_images/integrations/builtin/core-nodes/ssh/workflow.png
deleted file mode 100644
index d02314857..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/ssh/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/xml/httprequest_node.png b/docs/_images/integrations/builtin/core-nodes/xml/httprequest_node.png
deleted file mode 100644
index de5750ed0..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/xml/httprequest_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/xml/workflow.png b/docs/_images/integrations/builtin/core-nodes/xml/workflow.png
deleted file mode 100644
index 6b3b66903..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/xml/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/core-nodes/xml/xml_node.png b/docs/_images/integrations/builtin/core-nodes/xml/xml_node.png
deleted file mode 100644
index 3cec0719a..000000000
Binary files a/docs/_images/integrations/builtin/core-nodes/xml/xml_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/mongodb/cluster.png b/docs/_images/integrations/builtin/credentials/mongodb/cluster.png
new file mode 100644
index 000000000..6629eff53
Binary files /dev/null and b/docs/_images/integrations/builtin/credentials/mongodb/cluster.png differ
diff --git a/docs/_images/integrations/builtin/credentials/mongodb/collections.png b/docs/_images/integrations/builtin/credentials/mongodb/collections.png
new file mode 100644
index 000000000..3cf410c26
Binary files /dev/null and b/docs/_images/integrations/builtin/credentials/mongodb/collections.png differ
diff --git a/docs/_images/integrations/builtin/credentials/mongodb/connect.png b/docs/_images/integrations/builtin/credentials/mongodb/connect.png
new file mode 100644
index 000000000..0d3affb10
Binary files /dev/null and b/docs/_images/integrations/builtin/credentials/mongodb/connect.png differ
diff --git a/docs/_images/integrations/builtin/credentials/mongodb/database_create.png b/docs/_images/integrations/builtin/credentials/mongodb/database_create.png
new file mode 100644
index 000000000..28e15d6c4
Binary files /dev/null and b/docs/_images/integrations/builtin/credentials/mongodb/database_create.png differ
diff --git a/docs/_images/integrations/builtin/credentials/mongodb/network_access.png b/docs/_images/integrations/builtin/credentials/mongodb/network_access.png
new file mode 100644
index 000000000..c4a01220b
Binary files /dev/null and b/docs/_images/integrations/builtin/credentials/mongodb/network_access.png differ
diff --git a/docs/_images/integrations/builtin/rate-limits/loop-wait.png b/docs/_images/integrations/builtin/rate-limits/loop-wait.png
new file mode 100644
index 000000000..f1b0ada19
Binary files /dev/null and b/docs/_images/integrations/builtin/rate-limits/loop-wait.png differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/acuityschedulingtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/acuityschedulingtrigger/workflow.png
deleted file mode 100644
index ddc019678..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/acuityschedulingtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/affinitytrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/affinitytrigger/workflow.png
deleted file mode 100644
index fa8bf718f..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/affinitytrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/amqptrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/amqptrigger/workflow.png
deleted file mode 100644
index 3763ed8d8..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/amqptrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/asanatrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/asanatrigger/workflow.png
deleted file mode 100644
index 0e5f9abbd..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/asanatrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/awssnstrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/awssnstrigger/workflow.png
deleted file mode 100644
index d7fcb5f46..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/awssnstrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/bitbuckettrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/bitbuckettrigger/workflow.png
deleted file mode 100644
index 3488ca0b2..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/bitbuckettrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/boxtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/boxtrigger/workflow.png
deleted file mode 100644
index 6c28f29d6..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/boxtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/calendlytrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/calendlytrigger/workflow.png
deleted file mode 100644
index 0ff6cb323..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/calendlytrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/chargebeetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/chargebeetrigger/workflow.png
deleted file mode 100644
index e090ad300..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/chargebeetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/ciscowebextrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/ciscowebextrigger/workflow.png
deleted file mode 100644
index 04c73a4ed..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/ciscowebextrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/clickuptrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/clickuptrigger/workflow.png
deleted file mode 100644
index 080ea04de..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/clickuptrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/clockifytrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/clockifytrigger/workflow.png
deleted file mode 100644
index 418bf57fb..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/clockifytrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/convertkittrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/convertkittrigger/workflow.png
deleted file mode 100644
index 362982368..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/convertkittrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/coppertrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/coppertrigger/workflow.png
deleted file mode 100644
index db2050772..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/coppertrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/customeriotrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/customeriotrigger/workflow.png
deleted file mode 100644
index 83410e324..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/customeriotrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/eventbritetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/eventbritetrigger/workflow.png
deleted file mode 100644
index 2041ca660..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/eventbritetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/flowtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/flowtrigger/workflow.png
deleted file mode 100644
index d1c3b719b..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/flowtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/formiotrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/formiotrigger/workflow.png
deleted file mode 100644
index 06d3bb5d6..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/formiotrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/formstacktrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/formstacktrigger/workflow.png
deleted file mode 100644
index d51056eea..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/formstacktrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/githubtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/githubtrigger/workflow.png
deleted file mode 100644
index 771d6f6c9..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/githubtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/gitlabtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/gitlabtrigger/workflow.png
deleted file mode 100644
index 6784a250a..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/gitlabtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/googledrivetrigger_node.png b/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/googledrivetrigger_node.png
deleted file mode 100644
index edfd15d16..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/googledrivetrigger_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/workflow.png
deleted file mode 100644
index 4c2457898..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/googledrivetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/gumroadtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/gumroadtrigger/workflow.png
deleted file mode 100644
index 210415bb3..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/gumroadtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/helpscouttrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/helpscouttrigger/workflow.png
deleted file mode 100644
index b9b7a70bc..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/helpscouttrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/hubspottrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/hubspottrigger/workflow.png
deleted file mode 100644
index 4c2019030..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/hubspottrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/invoiceninjatrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/invoiceninjatrigger/workflow.png
deleted file mode 100644
index d59287f79..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/invoiceninjatrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/jiratrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/jiratrigger/workflow.png
deleted file mode 100644
index f6ab3420b..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/jiratrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/jotformtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/jotformtrigger/workflow.png
deleted file mode 100644
index cb860b51f..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/jotformtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/keaptrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/keaptrigger/workflow.png
deleted file mode 100644
index 455dcc97b..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/keaptrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/mailchimptrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/mailchimptrigger/workflow.png
deleted file mode 100644
index 6b1810fcf..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/mailchimptrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/mailjettrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/mailjettrigger/workflow.png
deleted file mode 100644
index a828d76b6..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/mailjettrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/mqtttrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/mqtttrigger/workflow.png
deleted file mode 100644
index 801329286..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/mqtttrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/if_node.png b/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/if_node.png
deleted file mode 100644
index 319c23c44..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/if_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/mattermost_node.png b/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/mattermost_node.png
deleted file mode 100644
index 99ab66669..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/mattermost_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/noop_node.png b/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/noop_node.png
deleted file mode 100644
index 9c1de06d1..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/noop_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/notiontrigger_node.png b/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/notiontrigger_node.png
deleted file mode 100644
index 73efdd428..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/notiontrigger_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/workflow.png
deleted file mode 100644
index 8013d00d3..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/notiontrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/paypaltrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/paypaltrigger/workflow.png
deleted file mode 100644
index 0eb8f637c..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/paypaltrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/pipedrivetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/pipedrivetrigger/workflow.png
deleted file mode 100644
index 4a1294f5b..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/pipedrivetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/postmarktrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/postmarktrigger/workflow.png
deleted file mode 100644
index 40d30d003..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/postmarktrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/seatabletrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/seatabletrigger/workflow.png
deleted file mode 100644
index 43ec77913..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/seatabletrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/shopifytrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/shopifytrigger/workflow.png
deleted file mode 100644
index 74b6906a5..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/shopifytrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/stripetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/stripetrigger/workflow.png
deleted file mode 100644
index 218548415..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/stripetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/surveymonkeytrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/surveymonkeytrigger/workflow.png
deleted file mode 100644
index c4ffec815..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/surveymonkeytrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/taigatrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/taigatrigger/workflow.png
deleted file mode 100644
index 59d2c54e6..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/taigatrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/httprequest_node.png b/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/httprequest_node.png
deleted file mode 100644
index 141611cd4..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/httprequest_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegram_node.png b/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegram_node.png
deleted file mode 100644
index 9fe9c4085..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegram_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegramtrigger_node.png b/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegramtrigger_node.png
deleted file mode 100644
index f33a703be..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/telegramtrigger_node.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/workflow.png
deleted file mode 100644
index bc442b565..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/telegramtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/thehivetrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/thehivetrigger/workflow.png
deleted file mode 100644
index 294296943..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/thehivetrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/toggltrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/toggltrigger/workflow.png
deleted file mode 100644
index 50cc51a96..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/toggltrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/trellotrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/trellotrigger/workflow.png
deleted file mode 100644
index 4bd061640..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/trellotrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/webflowtrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/webflowtrigger/workflow.png
deleted file mode 100644
index b8311e952..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/webflowtrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/wufootrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/wufootrigger/workflow.png
deleted file mode 100644
index 02e9df040..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/wufootrigger/workflow.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/trigger-nodes/zendesktrigger/workflow.png b/docs/_images/integrations/builtin/trigger-nodes/zendesktrigger/workflow.png
deleted file mode 100644
index 87f72c026..000000000
Binary files a/docs/_images/integrations/builtin/trigger-nodes/zendesktrigger/workflow.png and /dev/null differ
diff --git a/docs/_redirects b/docs/_redirects
index 5a724842f..13206c46e 100644
--- a/docs/_redirects
+++ b/docs/_redirects
@@ -1,4 +1,28 @@
-/langchain/ /advanced/ai/
+/n8n-nodes-langchain.openaiassistant.md/ /n8n-nodes-langchain.openai/
+/n8n-nodes-base.openai/ /n8n-nodes-langchain.openai/
+/contributing/ /help-community/contributing/
+/manage-cloud/ /manage-cloud/overview/
+/hosting/environment-variables/* /hosting/configuration/:splat
+/hosting/supported-databases-settings/ /hosting/configuration/supported-databases-settings/
+/hosting/logging-monitoring/security-audit/ /hosting/logging-monitoring/security-audit/
+/hosting/installation/ /hosting/
+/hosting/logging-monitoring/ /hosting/
+/hosting/environment-variables/ /hosting/
+/hosting/architecture/ /hosting/architecture/overview/
+/hosting/scaling/ /hosting/scaling/overview/
+/hosting/user-management-self-hosted/ /hosting/configuration/user-management-self-hosted/
+/hosting/external-storage/ /hosting/scaling/external-storage/
+/integrations/builtin/ /integrations/builtin/node-types/
+/integrations/community-nodes/ /integrations/
+/integrations/creating-nodes/ /integrations/creating-nodes/overview/
+/code/builtin/ /code/builtin/overview/
+/code/cookbook/ /code/
+/code/luxon/ /code/cookbook/luxon/
+/code/jmespath/ /code/cookbook/jmespath/
+/advanced-ai/examples/ /advanced-ai/examples/introduction/
+/advanced-ai/langchain/ /advanced-ai/langchain/overview/
+
+/langchain/ /advanced-ai/
/langchain/langchain-tutorial/ /advanced-ai/intro-tutorial/
/langchain/learning-resources/ /advanced-ai/langchain/langchain-learning-resources/
/langchain/langchain-n8n/ /advanced-ai/langchain/langchain-n8n/
@@ -81,9 +105,9 @@
-/hosting/authentication/user-management-self-hosted/ /hosting/user-management-self-hosted/
-/hosting/authentication/jwt/ /hosting/user-management-self-hosted/
-/hosting/authentication/basic-auth/ /hosting/user-management-self-hosted/
+/hosting/authentication/user-management-self-hosted/ /hosting/configuration/user-management-self-hosted/
+/hosting/authentication/jwt/ /hosting/configuration/user-management-self-hosted/
+/hosting/authentication/basic-auth/ /hosting/configuration/user-management-self-hosted/
/environments/variables/ /variables/
@@ -101,7 +125,7 @@
/reference/keyboard-shortcuts/ /keyboard-shortcuts/
/reference/cli-commands/ /hosting/cli-commands/
/reference/update/ /release-notes/
-/security-audit/ /hosting/security-audit/
+/security-audit/ /hosting/logging-monitoring/security-audit/
/reference/data-collection/ /privacy-security/privacy/
/integrations/builtin/core-nodes/n8n-nodes-base.readbinaryfile/ /integrations/builtin/core-nodes/n8n-nodes-base.filesreadwrite/
@@ -128,23 +152,23 @@
/hosting/installation/cloud/ /manage-cloud/
/hosting/installation/desktop-app/ /choose-n8n/
/hosting/server-setups/* /hosting/installation/server-setups/:splat
-/hosting/environment-variables/ /hosting/environment-variables/environment-variables/
+/hosting/configuration/ /hosting/configuration/environment-variables/
/hosting/updating/ /reference/update/
/hosting/updating/cloud/ /manage-cloud/update-cloud-version/
/hosting/updating/desktop/ /choose-n8n/
/hosting/updating/npm/ /hosting/installation/npm/
-/hosting/databases/supported-databases-settings/ /hosting/supported-databases-settings/
+/hosting/databases/supported-databases-settings/ /hosting/configuration/supported-databases-settings/
/hosting/databases/structure/ /hosting/architecture/database-structure/
/hosting/security/ /hosting/user-management/
/hosting/user-management/ /user-management/
-/hosting/configuration/ /hosting/environment-variables/configuration-methods/
+/hosting/configuration/ /hosting/configuration/configuration-methods/
# 2022 SEO audit
/nodes/expressions/expressions.html /code/expressions/
/nodes/expressions.html /code/expressions/
-/reference/configuration.html /hosting/environment-variables/configuration-methods/
+/reference/configuration.html /hosting/configuration/configuration-methods/
/getting-started/installation/index.html /hosting/options/
/getting-started/create-your-first-workflow/ /try-it-out/
/reference/scaling-n8n.html /hosting/scaling/
@@ -225,20 +249,20 @@
/getting-started/installation/ /hosting/options/
/getting-started/installation/docker-quickstart.html /hosting/installation/docker/
/getting-started/installation/updating.html /hosting/updating/
-/getting-started/installation/advanced/configuration.html /hosting/environment-variables/configuration-methods/
+/getting-started/installation/advanced/configuration.html /hosting/configuration/configuration-methods/
/getting-started/installation/advanced/maintenance.html /hosting/scaling/execution-data/
/getting-started/installation/advanced/scaling-n8n.html /hosting/scaling/queue-mode/
/getting-started/tutorials.html https://n8n.io/blog/
/reference/user-management.html /user-management/
-/reference/environment-variables.html /hosting/environment-variables/
+/reference/environment-variables.html /hosting/configuration/configuration-methods/
/reference/start-workflows-via-cli.html /hosting/cli-commands/
/reference/javascript-code-snippets.html /code-examples/javascript-functions/
/reference/data/database.html /hosting/databases/
-/reference/data/understanding-database.html /hosting/supported-databases-settings/
+/reference/data/understanding-database.html /hosting/configuration/supported-databases-settings/
/reference/logging.html /hosting/logging/
/reference/telemetry.html /privacy-security/privacy/data-collection/
/reference/troubleshooting.html /hosting/installation/npm/
-/reference/contributing.html /contributing/
+/reference/contributing.html /help-community/contributing/
/reference/release-notes.html /reference/release-notes/
/reference/server-setup.html /hosting/installation/server-setups/
@@ -834,7 +858,7 @@
# Old redirects
-/reference/changelog.html /reference/release-notes/
+/reference/changelog.html /release-notes/
# Send in Blue Rebrand
/integrations/builtin/app-nodes/n8n-nodes-base.sendinblue/ /integrations/builtin/app-nodes/n8n-nodes-base.brevo/
diff --git a/docs/advanced-ai/examples/index.md b/docs/advanced-ai/examples/introduction.md
similarity index 100%
rename from docs/advanced-ai/examples/index.md
rename to docs/advanced-ai/examples/introduction.md
diff --git a/docs/advanced-ai/index.md b/docs/advanced-ai/index.md
index 0718652a8..29408777b 100644
--- a/docs/advanced-ai/index.md
+++ b/docs/advanced-ai/index.md
@@ -18,20 +18,20 @@ This feature is available on Cloud and self-hosted n8n, in version 1.19.4 and ab
Work through the short tutorial to learn the basics of building AI workflows in n8n.
- [:octicons-arrow-right-24: Tutorial](/advanced-ai/intro-tutorial//)
+ [:octicons-arrow-right-24: Tutorial](/advanced-ai/intro-tutorial/)
- __Explore examples and concepts__
Browse examples and workflow templates to help you build. Includes explanations of important AI concepts.
- [:octicons-arrow-right-24: Examples](/advanced-ai/examples/)
+ [:octicons-arrow-right-24: Examples](/advanced-ai/examples/introduction/)
- __How n8n uses LangChain__
Learn more about how n8n builds on LangChain.
- [:octicons-arrow-right-24: LangChain in n8n](/advanced-ai/langchain/)
+ [:octicons-arrow-right-24: LangChain in n8n](/advanced-ai/langchain/overview/)
- __Browse AI templates__
diff --git a/docs/advanced-ai/intro-tutorial.md b/docs/advanced-ai/intro-tutorial.md
index ff8a821c7..ee3c2fdc1 100644
--- a/docs/advanced-ai/intro-tutorial.md
+++ b/docs/advanced-ai/intro-tutorial.md
@@ -209,6 +209,6 @@ You can now try out the workflow: close any open nodes, then select **Chat** to
## Next steps
* Explore n8n using the [Quickstarts](/try-it-out/).
-* Learn more about AI concepts and view examples in [Examples and concepts](/advanced-ai/examples/).
+* Learn more about AI concepts and view examples in [Examples and concepts](/advanced-ai/examples/introduction/).
* Browse AI [Workflow templates](https://n8n.io/workflows/?categories=25){:target=_blank .external-link}.
* Read [What product people need to know about LangChain](https://www.commandbar.com/blog/langchain-guide){:target=_blank .external-link} to learn more about AI concepts and terminology.
diff --git a/docs/advanced-ai/langchain/langchain-n8n.md b/docs/advanced-ai/langchain/langchain-n8n.md
index 2b464b000..447a37d9c 100644
--- a/docs/advanced-ai/langchain/langchain-n8n.md
+++ b/docs/advanced-ai/langchain/langchain-n8n.md
@@ -171,6 +171,7 @@ Available nodes:
* [Embeddings Google PaLM](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsgooglepalm/)
* [Embeddings Hugging Face Inference](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingshuggingfaceinference/)
* [Embeddings Mistral Cloud](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsmistralcloud/)
+* [Embeddings Ollama](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama/)
* [Embeddings OpenAI](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai/)
Learn more about [Text embeddings in LangChain](https://js.langchain.com/docs/modules/data_connection/text_embedding/){:target=_blank .external-link}.
diff --git a/docs/advanced-ai/langchain/langsmith.md b/docs/advanced-ai/langchain/langsmith.md
new file mode 100644
index 000000000..c015bbb8b
--- /dev/null
+++ b/docs/advanced-ai/langchain/langsmith.md
@@ -0,0 +1,30 @@
+---
+contentType: howto
+title: Use LangSmith with n8n
+description: How to enable LangSmith for your self-hosted n8n instance.
+---
+
+# Use LangSmith with n8n
+
+[LangSmith](https://www.langchain.com/langsmith){:target=_blank .external-link} is a developer platform created by the LangChain team. You can connect your n8n instance to LangSmith to record and monitor runs in n8n, just as you can in a LangChain application.
+
+/// info | Feature availability
+Self-hosted n8n only.
+///
+
+## Connect your n8n instance to LangSmith
+
+1. [Log in to LangSmith](https://smith.langchain.com/settings){:target=_blank .external-link} and get your API key.
+1. Set the LangSmith environment variables:
+
+ | Variable | Value |
+ | -------- | ----- |
+ | LANGCHAIN_ENDPOINT | `"https://api.smith.langchain.com"` |
+ | LANGCHAIN_TRACING_V2 | `true` |
+ | LANGCHAIN_API_KEY | Set this to your API key |
+
+ Set the variables so that they're available globally in the environment where you host your n8n instance. You can do this in the same way as the rest of your general configuration. These aren't n8n environment variables, so don't try to set them using the [n8n configuration file](/hosting/configuration/configuration-methods/#set-environment-variables-using-a-file).
+
+1. Restart n8n.
+
+For information on using LangSmith, refer to [LangSmith's documentation](https://docs.smith.langchain.com/){:target=_blank .external-link}.
diff --git a/docs/advanced-ai/langchain/index.md b/docs/advanced-ai/langchain/overview.md
similarity index 58%
rename from docs/advanced-ai/langchain/index.md
rename to docs/advanced-ai/langchain/overview.md
index b4617376d..807a10941 100644
--- a/docs/advanced-ai/langchain/index.md
+++ b/docs/advanced-ai/langchain/overview.md
@@ -8,5 +8,5 @@ description: Understand how n8n uses LangChain to provide advanced AI functional
n8n provides a collection of nodes that implement LangChain's functionality. The LangChain nodes are configurable, meaning you can choose your preferred agent, LLM, memory, and so on. Alongside the LangChain nodes, you can connect any n8n node as normal: this means you can integrate your LangChain logic with other data sources and services.
-* [Learning resources](/langchain/learning-resources/): n8n's documentation for LangChain assumes you're familiar with AI and LangChain concepts. This page provides links to learning resources.
-* [LangChain concepts and features in n8n](/langchain/langchain-n8n/): how n8n represents LangChain concepts and features.
+* [Learning resources](/advanced-ai/langchain/langchain-learning-resources/): n8n's documentation for LangChain assumes you're familiar with AI and LangChain concepts. This page provides links to learning resources.
+* [LangChain concepts and features in n8n](/advanced-ai/langchain/langchain-n8n/): how n8n represents LangChain concepts and features.
diff --git a/docs/choose-n8n.md b/docs/choose-n8n.md
index 84b65f524..66faecd7c 100644
--- a/docs/choose-n8n.md
+++ b/docs/choose-n8n.md
@@ -11,7 +11,7 @@ This section contains information on n8n's range of platforms, pricing plans, an
There are different ways to set up n8n depending on how you intend to use it:
-* [n8n Cloud](/choose-n8n/cloud/): hosted solution, no need to install anything.
+* [n8n Cloud](/manage-cloud/overview/): hosted solution, no need to install anything.
* [Self-host](/hosting/): recommended method for production or customized use cases.
* [npm](/hosting/installation/npm/)
* [Docker](/hosting/installation/docker/)
@@ -23,9 +23,9 @@ There are different ways to set up n8n depending on how you intend to use it:
## Licenses
-n8n is [fair-code](http://faircode.io) licensed under the [Sustainable Use License](https://github.com/n8n-io/n8n/blob/master/LICENSE.md){:target=_blank .external-link} and [n8n Enterprise License](https://github.com/n8n-io/n8n/blob/master/LICENSE_EE.md){:target=_blank .external-link}.
+n8n is [fair-code](http://faircode.io){:target=_blank .external-link} licensed under the [Sustainable Use License](https://github.com/n8n-io/n8n/blob/master/LICENSE.md){:target=_blank .external-link} and [n8n Enterprise License](https://github.com/n8n-io/n8n/blob/master/LICENSE_EE.md){:target=_blank .external-link}.
-For a detailed explanation of the license, refer to [Faircode license](/choose-n8n/faircode-license/).
+For a detailed explanation of the license, refer to [Faircode license](/faircode-license/).
## Free versions
diff --git a/docs/code/ai-code.md b/docs/code/ai-code.md
index b5ada5602..f41120cab 100644
--- a/docs/code/ai-code.md
+++ b/docs/code/ai-code.md
@@ -47,7 +47,7 @@ Some general tips:
And some n8n-specific guidance:
-* Think about the input data: make sure ChatGPT knows which pieces of the data you want to access, and what the incoming data represents. You may need to tell ChatGPT about the availability of n8n's [Built-in methods and variables](/code/builtin/).
+* Think about the input data: make sure ChatGPT knows which pieces of the data you want to access, and what the incoming data represents. You may need to tell ChatGPT about the availability of n8n's built-in methods and variables.
* Declare interactions between nodes: if your logic involves data from multiple nodes, specify how they should interact. "Merge the output of 'Node A' with 'Node B' based on the 'userID' property". if you prefer data to come from certain nodes or to ignore others, be clear: "Only consider data from the 'Purchases' node and ignore the 'Refunds' node."
* Ensure the output is compatible with n8n. Refer to [Data structure](/data/data-structure/) for more information on the data structure n8n requires.
@@ -192,4 +192,4 @@ Pluralsight offer a short guide on [How to use ChatGPT to write code](https://ww
## Fixing the code
-The AI-generated code may work without any changes, but you may have to edit it. You need to be aware of n8n's [Data structure](/data/data-structure/). You may also find n8n's [Built-in methods and variables](/code/builtin/) useful.
+The AI-generated code may work without any changes, but you may have to edit it. You need to be aware of n8n's [Data structure](/data/data-structure/). You may also find n8n's built-in methods and variables useful.
diff --git a/docs/code/builtin/data-transformation-functions/booleans.md b/docs/code/builtin/data-transformation-functions/booleans.md
new file mode 100644
index 000000000..8e370324c
--- /dev/null
+++ b/docs/code/builtin/data-transformation-functions/booleans.md
@@ -0,0 +1,18 @@
+---
+title: Data transformation functions for booleans
+description: A reference document listing built-in convenience functions to support data transformation in expressions for booleans.
+contentType: reference
+---
+
+# Booleans
+
+A reference document listing built-in convenience functions to support data transformation in expressions for arrays.
+
+/// note | JavaScript in expressions
+You can use any JavaScript in expressions. Refer to [Expressions](/code/expressions/) for more information.
+///
+[[% import "_macros/data-functions.html" as dataFunctions %]]
+
+[[% for func in df_boolean %]]
+[[ dataFunctions.dataFunctions("boolean", func.funcName, func.returns, func.description, func.args, func.examples ) ]]
+[[% endfor %]]
diff --git a/docs/code/builtin/date-time.md b/docs/code/builtin/date-time.md
index be9b480cd..60ce44797 100644
--- a/docs/code/builtin/date-time.md
+++ b/docs/code/builtin/date-time.md
@@ -23,6 +23,6 @@ You can use Python in the Code node. It isn't available in expressions.
| `_now` | A Luxon object containing the current timestamp. Equivalent to `DateTime.now()`. |
| `_today` | A Luxon object containing the current timestamp, rounded down to the day. Equivalent to `DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 })`. |
-n8n passes dates between nodes as strings, so you need to parse them. Luxon helps you do this. Refer to [Date and time with Luxon](/code/luxon/) for more information.
+n8n passes dates between nodes as strings, so you need to parse them. Luxon helps you do this. Refer to [Date and time with Luxon](/code/cookbook/luxon/) for more information.
n8n provides built-in convenience functions to support data transformation in expressions for dates. Refer to [Data transformation functions | Dates](/code/builtin/data-transformation-functions/dates/) for more information.
diff --git a/docs/code/builtin/jmespath.md b/docs/code/builtin/jmespath.md
index b16401fa8..49b368e8a 100644
--- a/docs/code/builtin/jmespath.md
+++ b/docs/code/builtin/jmespath.md
@@ -7,7 +7,7 @@ hide:
# JMESPath method
-This is an n8n-provided method for working with the [JMESPath](/code/jmespath/) library.
+This is an n8n-provided method for working with the [JMESPath](/code/cookbook/jmespath/) library.
/// note | Python support
You can use Python in the Code node. It isn't available in expressions.
diff --git a/docs/code/builtin/n8n-metadata.md b/docs/code/builtin/n8n-metadata.md
index 6029c5c1a..0c66f64cb 100644
--- a/docs/code/builtin/n8n-metadata.md
+++ b/docs/code/builtin/n8n-metadata.md
@@ -21,7 +21,7 @@ You can use Python in the Code node. It isn't available in expressions.
=== "JavaScript"
| Method | Description | Available in Code node? |
| ------ | ----------- | :-------------------------: |
- | `$env` | Contains n8n instance configuration [environment variables](/hosting/environment-variables/environment-variables/). | :white_check_mark: |
+ | `$env` | Contains n8n instance configuration [environment variables](/hosting/configuration/environment-variables/). | :white_check_mark: |
| `$execution.customData` | Set and get custom execution data. Refer to [Custom executions data](/workflows/executions/custom-executions-data/) for more information. | :white_check_mark: |
| `$execution.id` | The unique ID of the current workflow execution. | :white_check_mark: |
| `$execution.mode` | Whether the execution was triggered automatically, or by manually running the workflow. Possible values are `test` and `production`. | :white_check_mark: |
@@ -42,7 +42,7 @@ You can use Python in the Code node. It isn't available in expressions.
=== "Python"
| Method | Description |
| ------ | ----------- |
- | `_env` | Contains n8n instance configuration [environment variables](/hosting/environment-variables/environment-variables/). |
+ | `_env` | Contains n8n instance configuration [environment variables](/hosting/configuration/environment-variables/). |
| `_execution.customData` | Set and get custom execution data. Refer to [Custom executions data](/workflows/executions/custom-executions-data/) for more information. |
| `_execution.id` | The unique ID of the current workflow execution. |
| `_execution.mode` | Whether the execution was triggered automatically, or by manually running the workflow. Possible values are `test` and `production`. |
diff --git a/docs/code/builtin/index.md b/docs/code/builtin/overview.md
similarity index 100%
rename from docs/code/builtin/index.md
rename to docs/code/builtin/overview.md
diff --git a/docs/code/cookbook/builtin/index.md b/docs/code/cookbook/builtin/index.md
index e7519cd72..b85da4906 100644
--- a/docs/code/cookbook/builtin/index.md
+++ b/docs/code/cookbook/builtin/index.md
@@ -12,6 +12,6 @@ n8n provides built-in methods and variables for working with data and accessing
## Related resources
-* [Built-in methods and variables reference](/code/builtin/)
+* [Built-in methods and variables reference](/code/builtin/overview/)
* [Expressions](/code/expressions/)
* [Code node](/code/code-node/)
diff --git a/docs/code/cookbook/builtin/vars.md b/docs/code/cookbook/builtin/vars.md
index 1e06be17d..d4d563d09 100644
--- a/docs/code/cookbook/builtin/vars.md
+++ b/docs/code/cookbook/builtin/vars.md
@@ -24,5 +24,5 @@ contentType: reference
```
/// note | `vars` and `env`
-`vars` gives access to user-created variables. It's part of the [Environments](/source-control-environments/) feature. `env` gives access to the [configuration environment variables](/hosting/environment-variables/environment-variables/) for your n8n instance.
+`vars` gives access to user-created variables. It's part of the [Environments](/source-control-environments/) feature. `env` gives access to the [configuration environment variables](/hosting/configuration/environment-variables/) for your n8n instance.
///
diff --git a/docs/code/cookbook/code-node/index.md b/docs/code/cookbook/code-node/index.md
index bf2e68599..8f2e771dc 100644
--- a/docs/code/cookbook/code-node/index.md
+++ b/docs/code/cookbook/code-node/index.md
@@ -13,5 +13,5 @@ This section contains examples and recipes for tasks you can do with the Code no
## Related resources
-* [Built-in methods and variables reference](/code/builtin/)
+* [Built-in methods and variables reference](/code/builtin/overview/)
* [Code node](/code/code-node/)
diff --git a/docs/code/cookbook/expressions/index.md b/docs/code/cookbook/expressions/index.md
index 44e1e8e09..57764b566 100644
--- a/docs/code/cookbook/expressions/index.md
+++ b/docs/code/cookbook/expressions/index.md
@@ -16,5 +16,5 @@ You can use Python in the Code node. It isn't available in expressions.
## Related resources
-* [Built-in methods and variables reference](/code/builtin/)
+* [Built-in methods and variables reference](/code/builtin/overview/)
* [Expressions](/code/expressions/)
diff --git a/docs/code/cookbook/http-node/index.md b/docs/code/cookbook/http-node/index.md
index 31c771107..af70b87a0 100644
--- a/docs/code/cookbook/http-node/index.md
+++ b/docs/code/cookbook/http-node/index.md
@@ -15,5 +15,5 @@ Refer to [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequ
## Related resources
* [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)
-* [Built-in methods and variables reference](/code/builtin/)
+* [Built-in methods and variables reference](/code/builtin/overview/)
* [Expressions](/code/expressions/)
diff --git a/docs/code/cookbook/index.md b/docs/code/cookbook/index.md
deleted file mode 100644
index 5c64bd85d..000000000
--- a/docs/code/cookbook/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-description: A collection of code examples.
-contentType: overview
----
-
-# Cookbook
-
-n8n's coding cookbook is a collection of recipes, or examples, showing what you can do with code in n8n.
-
-The examples are split into three groups:
-
-* [Built-in methods and variables](/code/cookbook/builtin/): examples showing basic usage of some of n8n's [built-in methods and variables](/code/builtin/).
-* [Expressions](/code/cookbook/expressions/): recipes for use in the [expressions editor](/code/expressions/).
-* [Code node](/code/cookbook/code-node/): recipes for use in the [Code node](/code/cookbook/code-node/).
diff --git a/docs/code/jmespath.md b/docs/code/cookbook/jmespath.md
similarity index 100%
rename from docs/code/jmespath.md
rename to docs/code/cookbook/jmespath.md
diff --git a/docs/code/luxon.md b/docs/code/cookbook/luxon.md
similarity index 96%
rename from docs/code/luxon.md
rename to docs/code/cookbook/luxon.md
index f27105d21..1e244933d 100644
--- a/docs/code/luxon.md
+++ b/docs/code/cookbook/luxon.md
@@ -56,6 +56,8 @@ Note that these variables can return different time formats when cast as a strin
# For example "Today's date is 1646834498755"
```
+n8n provides built-in convenience functions to support data transformation in expressions for dates. Refer to [Data transformation functions | Dates](/code/builtin/data-transformation-functions/dates/) for more information.
+
## Date and time behavior in n8n
Be aware of the following:
@@ -249,7 +251,7 @@ The scenario: you want a countdown to 25th December. Every day, it should tell y
* `$today.diff()`: This is similar to the example in [Get the time between two dates](#get-the-time-between-two-dates), but it uses n8n's custom `$today` variable.
* `DateTime.fromISO($today.year + '-12-25'), 'days'`: this part gets the current year using `$today.year`, turns it into an ISO string along with the month and date, and then takes the whole ISO string and converts it to a Luxon DateTime data structure. It also tells Luxon that you want the duration in days.
* `toObject()` turns the result of diff() into a more usable object. At this point, the expression returns `[Object: {"days":-}]`. For example, on 9th March, `[Object: {"days":-291}]`.
- * `.days` uses JMESPath syntax to retrieve just the number of days from the object. For more information on using JMESPath with n8n, refer to our [JMESpath](/code/jmespath/) documentation. This gives you the number of days to Christmas, as a negative number.
+ * `.days` uses JMESPath syntax to retrieve just the number of days from the object. For more information on using JMESPath with n8n, refer to our [JMESpath](/code/cookbook/jmespath/) documentation. This gives you the number of days to Christmas, as a negative number.
* `.toString().substring(1)` turns the number into a string and removes the `-`.
* `+ " days to Christmas!"`: another string, with a `+` to join it to the previous string.
* `}}`: indicates the end of the expression.
@@ -269,6 +271,6 @@ The scenario: you want a countdown to 25th December. Every day, it should tell y
* `$today.diff()`: This is similar to the example in [Get the time between two dates](#get-the-time-between-two-dates), but it uses n8n's custom `$today` variable.
* `DateTime.fromISO($today.year + '-12-25'), 'days'`: this part gets the current year using `$today.year`, turns it into an ISO string along with the month and date, and then takes the whole ISO string and converts it to a Luxon DateTime data structure. It also tells Luxon that you want the duration in days.
* `toObject()` turns the result of diff() into a more usable object. At this point, the expression returns `[Object: {"days":-}]`. For example, on 9th March, `[Object: {"days":-291}]`.
- * `.days` uses JMESPath syntax to retrieve just the number of days from the object. For more information on using JMESPath with n8n, refer to our [JMESpath](/code/jmespath/) documentation. This gives you the number of days to Christmas, as a negative number.
+ * `.days` uses JMESPath syntax to retrieve just the number of days from the object. For more information on using JMESPath with n8n, refer to our [JMESpath](/code/cookbook/jmespath/) documentation. This gives you the number of days to Christmas, as a negative number.
* `.toString().substring(1)` turns the number into a string and removes the `-`.
* `+ " days to Christmas!"`: another string, with a `+` to join it to the previous string.
diff --git a/docs/code/index.md b/docs/code/index.md
index b27fb3b39..840849b92 100644
--- a/docs/code/index.md
+++ b/docs/code/index.md
@@ -15,7 +15,7 @@ There are two places in your workflows where you can use code:
- __Expressions__
- Use expressions to transform [data](/data/) in your nodes. You can use JavaScript in expressions, as well as n8n's [Built-in methods and variables](/code/builtin/) and [Data transformation functions](/code/builtin/data-transformation-functions/).
+ Use expressions to transform [data](/data/) in your nodes. You can use JavaScript in expressions, as well as n8n's [Built-in methods and variables](/code/builtin/overview/) and [Data transformation functions](/code/builtin/data-transformation-functions/).
[:octicons-arrow-right-24: Expressions](/code/expressions/)
@@ -74,6 +74,6 @@ n8n provides core nodes, which simplify adding key functionality such as API req
You can build custom nodes, install them on your n8n instance, and publish them to [npm](https://www.npmjs.com/){:target=_blank .external-link}.
- [:octicons-arrow-right-24: Creating nodes](/integrations/creating-nodes/)
+ [:octicons-arrow-right-24: Creating nodes](/integrations/creating-nodes/overview/)
diff --git a/docs/courses/level-one/chapter-1.md b/docs/courses/level-one/chapter-1.md
index c3a7a28cc..3a5e0325b 100644
--- a/docs/courses/level-one/chapter-1.md
+++ b/docs/courses/level-one/chapter-1.md
@@ -8,15 +8,15 @@ In this lesson you will learn how to navigate the Editor UI. We will walk throug
## Getting started
-The first step is setting up n8n. There are two ways you can do this:
+Begin by setting up n8n. There are two ways you can do this:
- [n8n Cloud](https://app.n8n.cloud/register){:target="_blank" .external} - Hosted solution, no installation needed. Great for all levels of experience.
- [Self-host](/hosting/){:target="_blank" .external} - Recommended for advanced users with technical knowledge
-For more details on the different ways to set up n8n, see our [platforms documentation](/choose-n8n/#platforms){:target="_blank" .external}
+For more details on the different ways to set up n8n, see our [platforms documentation](/choose-n8n/#platforms){:target="_blank" .external}.
/// warning | n8n version
-This course was developed on n8n version 1.15.0. In other versions, some of the user interface might look different, but the core functionality shouldn't be impacted.
+This course was developed on n8n version 1.30.0. In other versions, some of the user interface might look different, but the core functionality shouldn't be impacted.
///
Once you have n8n running, open the Editor UI in a browser window. It should look like this:
@@ -24,98 +24,100 @@ Once you have n8n running, open the Editor UI in a browser window. It should loo
## Editor UI settings
-The [Editor UI](/editor-ui/) represents the web interface where you build [workflows](/workflows/workflows/). Think of it as a canvas on which the artist in you designs workflows. From the Editor UI you can access all your workflows and credentials, as well as support pages.
+The [Editor UI](/editor-ui/) is the web interface where you build [workflows](/workflows/workflows/). You can access all your workflows and credentials, as well as support pages, from the Editor UI.
### Left-side panel
-On the left side of the editor UI, there is a panel which contains the core functionalities and settings for managing your workflows. It can be expanded and collapsed by clicking on the small arrow icon.
+On the left side of the **Editor UI**, there is a panel which contains the core functionalities and settings for managing your workflows. Expand and collapse it by selecting the small arrow icon.
The panel contains the following sections:
-- *Workflows*: Contains all the workflows you have access to and where you can create new workflows.
-- *Templates*: A collection of pre-made workflows. Great place to get started with common use cases.
-- *Credentials*: Contains all the credentials you have access to and where you can add additional credentials.
-- *Variables*: Used to store and access fixed data across your workflows. This feature is available on Pro & Enterprise Plan.
-- *All executions*: Contains information about your workflow executions
-- *Admin Panel*: Access your n8n instance usage, billing and version settings(for n8n Cloud users)
-- *Settings*: Access settings for a variety of features, manage users
-- *Help*: Contains resources around n8n product and community
-- *Update*: Indicator for any recently released product updates
+- **Workflows**: Contains all the workflows you have access to. Create new workflows here.
+- **Templates**: A collection of pre-made workflows. Great place to get started with common use cases.
+- **Credentials**: Contains all the credentials you have access to. Add more credentials here.
+- **Variables**: Used to store and access fixed data across your workflows. This feature is available on the Pro and Enterprise Plans.
+- **All executions**: Contains information about your workflow executions
+- **Admin Panel**: Access your n8n instance usage, billing, and version settings (for n8n Cloud users)
+- **Settings**: Manage users and access settings for a variety of features
+- **Help**: Contains resources around n8n product and community
+- **Update**: Indicator for any recently released product updates
Editor UI left-side menu
### Top bar
-The top bar of the Editor UI contains the following information:
+The top bar of the **Editor UI** contains the following information:
-- *Workflow Name:* By default, a new workflow is named “My Workflow,” but can be edited at any time as required.
-- *+Add Tag:* Tags help you organise your workflows by category, use case or whatever is relevant for you. Tags are also optional
-- *Inactive/active toggle:* This button activates or deactivates the current workflow. By default, workflows are deactivated.
-- *Share:* You can share and collaborate with others on workflows on the Starter, Pro & Enterprise plans
-- *Save:* This button saves the current workflow
+- **Workflow Name**: By default, n8n names a new workflow as “My Workflow,” but you can edit the name at any time.
+- **+Add Tag**: Tags help you organise your workflows by category, use case, or whatever is relevant for you. Tags are optional.
+- **Inactive/active toggle**: This button activates or deactivates the current workflow. By default, workflows are deactivated.
+- **Share**: You can share and collaborate with others on workflows on the Starter, Pro, and Enterprise plans.
+- **Save**: This button saves the current workflow.
Editor UI top bar
### Canvas
-The *canvas* is the gray grid background in the Editor UI. On the canvas, there are several icons and a node with different functionalities:
+The **canvas** is the gray dotted grid background in the Editor UI. It displays several icons and a node with different functionalities:
- Buttons to zoom the canvas to fit the screen, zoom in or out of the canvas, and reset the canvas to the original resolution.
-- A button to *Execute Workflow*. When you click on it, all nodes on the canvas are executed.
-- A button with a *+* sign inside. This button opens the nodes panel.
+- A button to **Execute Workflow**. When you click on it, all nodes on the canvas are executed.
+- A button with a **+** sign inside. This button opens the nodes panel.
- A button with a note icon inside. This button adds a [sticky note](/workflows/sticky-notes){:target="_blank" .external} to the canvas. (Visible when hovering on the top right + icon)
-- A dotted square with the text "add first step." This is where you would add your first node.
+- A dotted square with the text "Add first step." This is where you add your first node.
Workflow canvas
/// note | Moving the canvas
You can move the workflow canvas around in three ways:
-- Click **Ctrl + Left Mouse Button** on the canvas and move it around
-- Click **Middle Mouse Button** on the canvas and move it around
-- Place two fingers on your touchpad and slide
+- Select **Ctrl + Left Mouse Button** on the canvas and move it around.
+- Select **Middle Mouse Button** on the canvas and move it around.
+- Place two fingers on your touchpad and slide.
///
-Don't worry about workflow execution and activation for now, we will explain these concepts later on in the course.
+Don't worry about workflow execution and activation for now; we'll explain these concepts later on in the course.
## Nodes
-You can think of nodes as building blocks that serve different functions but, when put together, they make up a functioning machine: an automated workflow.
+You can think of nodes as building blocks that serve different functions that, when put together, make up a functioning machine: an automated workflow.
/// note | Node
-A node is an individual step in your workflow: one that either (a) loads, (b) processes or (c) sends data.
+A node is an individual step in your workflow: one that either (a) loads, (b) processes, or (c) sends data.
///
-Based on their function, nodes can be classified into two types:
+Based on their function, n8n classifies nodes into four types:
-- **Regular Nodes** add, remove, and edit data, as well as request and send external data.
-- **Trigger Nodes** start a workflow and supply the initial data.
+- **App** or **Action Nodes** add, remove, and edit data; request and send external data; and trigger events in other systems. Refer to the [Action nodes library](/integrations/builtin/app-nodes/) for a full list of these nodes.
+- **Trigger Nodes** start a workflow and supply the initial data. Refer to the [Trigger nodes library](/integrations/builtin/trigger-nodes/) for a full list of trigger nodes.
+- **Core Nodes** can be core or app nodes. Whereas most nodes connect to a specific external service, core nodes provide functionality such as logic, scheduling, or generic API calls. Refer to the [Core Nodes library](https://docs.n8n.io/integrations/builtin/core-nodes/) for a full list of core nodes.
+- **Cluster Nodes** are node groups that work together to provide functionality in a workflow. Refer to [Cluster nodes](/integrations/builtin/cluster-nodes/) for more information.
-/// note | Keep in mind
-Among the Regular and Trigger nodes there are some nodes that don't represent any app or service, instead they serve general functions like scheduling workflows (for example, Schedule Trigger) or adding JavaScript functions (for example, Code Node). We refer to these as *Core Nodes*.
+/// note | Learn more
+Refer to [Node types](/builtin/node-types/) for a more detailed explanation of all node types.
///
### Finding nodes
-You can find all available nodes in the nodes panel on the right side of the Editor UI. There are three ways in which you can open the nodes panel:
+You can find all available nodes in the **nodes panel** on the right side of the Editor UI. There are three ways in which you can open the nodes panel:
-- Click the *+* icon in the top right corner of the canvas.
-- Click the *+* icon on the right side of an existing node on the canvas (the node to which you want to add another one)
+- Click the **+** icon in the top right corner of the canvas.
+- Click the **+** icon on the right side of an existing node on the canvas (the node to which you want to add another one).
- Click the Tab key on your keyboard.
Nodes panel
In the nodes panel, notice that when adding your first node, you will see the different trigger node categories. After you have added your trigger node, you'll see that the nodes panel changes to show Action, Data transformation, Helper, Flow and File nodes.
-If you want to find a specific node, you can use the search input at the top of the nodes panel.
+If you want to find a specific node, use the search input at the top of the nodes panel.
### Adding nodes
There are two ways to add nodes to your canvas:
-- Click on the node you want in the nodes panel. The new node will automatically be connected to the selected node on the canvas.
+- Select the node you want in the nodes panel. The new node will automatically connect to the selected node on the canvas.
- Drag and drop the node from the nodes panel to the canvas.
### Node buttons
@@ -128,7 +130,7 @@ If you hover on a node, you'll notice that four icons appear on top:
- Execute the node (Play icon)
/// note | Moving a workflow
-To move a workflow around the canvas, select all nodes with your mouse or by clicking **Ctrl + A**, click and hold on a node, then drag it to any point you want on the canvas.
+To move a workflow around the canvas, select all nodes with your mouse or by selecting **Ctrl + A**, select and hold on a node, then drag it to any point you want on the canvas.
///
## Summary
diff --git a/docs/courses/level-one/chapter-2.md b/docs/courses/level-one/chapter-2.md
index 5f079bcbd..3c5e739c9 100644
--- a/docs/courses/level-one/chapter-2.md
+++ b/docs/courses/level-one/chapter-2.md
@@ -4,121 +4,166 @@ contentType: tutorial
# Building a Mini-workflow
-In this lesson, you will build a small workflow that gets 10 articles about automation from Hacker News. The workflow consists of four steps:
+In this lesson, you will build a small workflow that gets 10 articles about automation from Hacker News. The workflow consists of five steps:
-[1. Add the Hacker News node](#1-add-the-hacker-news-node)
-[2. Configure the Hacker News node](#2-configure-the-hacker-news-node)
-[3. Save the workflow](#3-save-the-workflow)
-[4. Execute the node](#4-execute-the-node)
+1. [Add a manual trigger node](#1-add-a-manual-trigger-node)
+2. [Add the Hacker News node](#2-add-the-hacker-news-node)
+3. [Configure the Hacker News node](#3-configure-the-hacker-news-node)
+4. [Execute the node](#4-execute-the-node)
+5. [Save the workflow](#5-save-the-workflow)
-## 1. Add the Hacker News node
+## 1. Add a manual trigger node
-Open the nodes panel, search for the *Hacker News* node, and click on it to add it to the Editor UI. Connect the *Hacker News node* to the *Manual Trigger node*.
+Open the nodes panel (reminder: you can open this by selecting the **+** icon in the top right corner of the canvas or selecting Tab on your keyboard).
-## 2. Configure the Hacker News node
+Then:
-When you add a new node to the Editor UI, the node will be automatically activated and open a window with two tabs on the left side: ***Parameters*** and ***Settings***.
+1. Search for the **Manual trigger** node.
+2. Select it when it appears in the search.
-/// note | Parameters vs Settings
-*Parameters* are different for each node, depending on its functionality.
-*Settings* are the same for all nodes.
+This will add the Manual trigger node to your canvas, which will allow you to run the workflow any time by selecting the **Test workflow** button.
+
+/// note | Manual triggers
+For faster workflow creation, you can skip this step in the future. Adding any other node without a trigger will add the manual trigger node to the workflow.
+
+In a real-world scenario, you would likely want to set up a schedule or some other trigger to run the workflow.
+///
+
+## 2. Add the Hacker News node
+
+Select the **+** icon to the right of the Manual trigger node to open the nodes panel.
+
+Then:
+
+1. Search for the **Hacker News** node.
+2. Select it when it appears in the search.
+3. In the **Actions** section, select **Get many items**.
+
+n8n adds the node to your canvas and the node window opens to display its configuration details.
+
+## 3. Configure the Hacker News node
+
+When you add a new node to the Editor UI, the node is automatically activated. The node details will open in a window with several options:
+
+- **Parameters**: Adjust parameters to refine and control the node's functionality.
+- **Docs**: Open the n8n documentation for this node in a new window.
+- **Settings** (gear cog icon): Adjust settings to control the node's design and executions.
+
+/// note | Parameters vs. Settings
+**Parameters** are different for each node, depending on its functionality.
+**Settings** are the same for all nodes.
///
### Parameters
-The *Hacker News node* has several parameters that need to be configured in order to make it work:
+We need to configure several parameters for the Hacker News node to make it work:
-- *Resource:* All
+- **Resource**: All
This resource selects all data records (articles).
-- *Operation:* Get Many
+- **Operation**: Get Many
This operation fetches all the selected articles.
-- *Limit:* 10
-This parameter sets a limit to how many results are returned by the Get Many operation.
-- *Additional fields > Add Field > Keyword:* automation
-Additional fields are options that you can add to certain nodes to make your request more specific or filter the results. In our case, we want to get only articles that include the keyword “automation.”
+- **Limit**: 10
+This parameter sets a limit to how many results the Get Many operation returns.
+- **Additional Fields** > **Add Field** > **Keyword**: automation
+**Additional fields** are options that you can add to certain nodes to make your request more specific or filter the results. For this example, we want to get only articles that include the keyword "automation."
-The configuration of the parameters for the *Hacker News node* should now look like this:
+The configuration of the parameters for the Hacker News node should now look like this:
Hacker News node parameters
### Settings
-The *Settings* section includes several options for node design and executions. In this case, we'll configure only the first two settings, which set the node's appearance in the Editor UI. In the *Hacker News node* settings, edit:
+The **Settings** section includes several options for node design and executions. In this case, we'll configure only the final two settings, which set the node's appearance in the Editor UI canvas.
-- *Notes:* Get the 10 latest articles
-/// note | Node notes
-It's often helpful, especially for complex or shared workflows, to add a short description in the node about what it does.
-///
-- *Display note in flow?:* toggle to true
-This option will display the description note under the node in the Editor UI.
+In the Hacker News node Settings, edit:
-The configuration of the settings for the *Hacker News node* looks like this:
+- **Notes**: Get the 10 latest articles.
-Hacker News node renaming
+ /// note | Node notes
+ It's often helpful to add a short description in the node about what it does. This is especially helpful for complex or shared workflows!
+ ///
+
+- **Display note in flow?**: toggle to true
+This option will display the Note under the node in the canvas.
+
+The configuration of the settings for the Hacker News node should now look like this:
+
+Hacker News node settings
/// note | Renaming a node
-You can rename the node with a name that's more descriptive for your use case. There are two ways to do this:
+You can rename the node with a name that's more descriptive for your use case. There are three ways to do this:
- Select the node you want to rename and at the same time press the F2 key on your keyboard.
-- Double-click on the node to open the node window. Click on the name of the node in the top left corner of the window, rename it as you like, then click *Rename* to save the node under the new name.
+- Double-click on the node to open the node window. Click on the name of the node in the top left corner of the window, rename it as you like, then click **Rename** to save the node under the new name.
+- Right-click on the node and select the **Rename** option, or select the node and press F2 on your keyboard.
Renaming a node from the keyboard
///
-
-## 3. Save the workflow
-
-Save the workflow under the name “Hacker News workflow”
-By default, your workflow is automatically saved as “My workflow.”
-
-There are two ways in which you can save a workflow:
-
-- From the Canvas in Editor UI, click **Ctrl + S** or **Cmd + S** on your keyboard
-- Click the **Save** button in the top right corner of the Editor UI. You may need to leave the node editor first by clicking outside the dialog.
-
## 4. Execute the node
-Click on the *Execute Node* button in the top right corner of the node window. You should see 10 results in *Table* view.
+Select the **Test step** button in the node details window. You should see 10 results in the Output **Table** view.
+
Results in Table view for the Hacker News node
-## Node executions
+### Node executions
/// note | Node execution
A node execution represents a run of that node to retrieve the specified data.
///
-If a node is executed successfully a small green checkmark appear on top of the node.
+If a node executes successfully, a small green checkmark appears on top of the node in the canvas
Successfully executed workflow
-If the parameters are configured correctly and everything works fine, the requested data will be displayed in the node window in *Table*, *JSON* and *Schema* format. You can switch between these views by selecting the one you want from the *JSON|Table|Schema* button at the top of the node window.
+If the parameters are configured correctly and everything works fine, the requested data displays in the node window in **Table**, **JSON**, and **Schema** format. You can switch between these views by selecting the one you want from the **Table|JSON|Schema** button at the top of the node window.
/// note | Table vs JSON views
-The *Table* view is the default. It displays the requested data in a table, where the rows are the records and the columns are the available attributes of those records.
+The **Table** view is the default. It displays the requested data in a table, where the rows are the records and the columns are the available attributes of those records.
///
+Here's our Hacker News output in JSON view:
+
Results in JSON view for the Hacker News node
The node window displays more information about the node execution:
-- In the top left corner of the output window, you'll notice another piece of information: **10 items**.
-This field displays the number of items (records) that are returned by the node request. In our case, it's expected to be 10, since this is the limit we set in the node. But if you don't set a limit, it's useful to see how many records are actually returned.
-- Next to the *Items* information, notice a small grey *i* icon. If you hover on it, you'll get two more pieces of information: ***Start Time*** (when the node execution started) and ***Execution Time*** (how long it took for the node to return the results from the moment it started executing).
-*Start Time* and *Execution Time* can provide insights into the performance of each individual node.
-- Under the node name beside the **Parameters** tab, there is a link to the node's **Docs**. Check it out if you run into trouble or aren't sure how to configure the node's parameters.
+- Next to the **Output** title, notice a small icon (this will be a green checkmark if the node executed successfully). If you hover on it, you'll get two more pieces of information that can provide insights into the performance of each individual node in a workflow:
+ - **Start Time**: When the node execution started
+ - **Execution Time**: How long it took for the node to return the results from the moment it started executing
+- Just below the **Output** title, you'll notice another piece of information: **10 items**.
+This field displays the number of items (records) that the node request returned. In this example, it's expected to be 10, since this is the limit we set in step 2. But if you don't set a limit, it's useful to see how many records are actually returned.
/// warning | Error in nodes
-A red warning icon on a node means that the node has errors. This might happen if the node credentials are missing or incorrect, or the node parameters aren't configured correctly.
+A red warning icon on a node means that the node has errors. This might happen if the node credentials are missing or incorrect or the node parameters aren't configured correctly.
///
Error in nodes
+## 5. Save the workflow
+
+Once you're finished editing the node, select **Back to canvas** to return to the main canvas.
+
+By default, your workflow is automatically saved as "My workflow."
+
+For this lesson, rename the workflow to be "Hacker News workflow."
+
+/// note | Reminder
+You can rename a workflow by clicking on the workflow's name at the top of the Editor UI.
+///
+
+Once you've renamed the workflow, be sure to save it.
+
+There are two ways in which you can save a workflow:
+
+- From the Canvas in Editor UI, click **Ctrl + S** or **Cmd + S** on your keyboard.
+- Select the **Save** button in the top right corner of the Editor UI. You may need to leave the node editor first by clicking outside the dialog.
## Summary
Congratulations, you just built your first workflow! In this lesson, you learned how to use actions in app nodes, configure their parameters and settings, and save and execute your workflow.
-In the next lesson you will be introduced to your client, Nathan, who needs to automate his sales reporting work. You will build a more complex workflow for his use case, helping him become more productive at work.
+In the next lesson, you'll meet your new client, Nathan, who needs to automate his sales reporting work. You will build a more complex workflow for his use case, helping him become more productive at work.
diff --git a/docs/courses/level-one/chapter-3.md b/docs/courses/level-one/chapter-3.md
index 74fe572e9..4b0cf1a7a 100644
--- a/docs/courses/level-one/chapter-3.md
+++ b/docs/courses/level-one/chapter-3.md
@@ -16,7 +16,7 @@ Some things that Nathan does are repetitive and mind-numbing. He wants to automa
I have to collect sales data from our legacy data warehouse, which manages data from the main business processes of an organization, such as sales or production. Now, each sales order can have the status Processing or Booked. I have to calculate the sum of all the Booked orders and announce them in the company Discord every Monday. Then I have to create a spreadsheet of all the Processing sales so that the Sales Managers can review them and check if they need to follow up with customers.
-This manual work is tough and requires high attention to detail to make sure that all the numbers are right. Inevitably, I sometimes lose my focus and mistype a number or don't get to do it on time. I've been criticized once by my manager for miscalculating the data.
+This manual work is tough and requires high attention to detail to make sure that all the numbers are right. Inevitably, I lose my focus and mistype a number or I don't get to do it on time. I've been criticized once by my manager for miscalculating the data.
**You 👩🔧:** Oh no! Doesn't the data warehouse have a way to export the data?
diff --git a/docs/courses/level-one/chapter-4.md b/docs/courses/level-one/chapter-4.md
index 4a5d7c0fc..2de7c6369 100644
--- a/docs/courses/level-one/chapter-4.md
+++ b/docs/courses/level-one/chapter-4.md
@@ -4,22 +4,26 @@ contentType: tutorial
# Designing the Workflow
-Now that we know what Nathan wants to automate, let's enumerate the steps he needs to take to achieve this:
+Now that we know what Nathan wants to automate, let's consider the steps he needs to take to achieve this:
1. Get the relevant data (order id, order status, order value, employee name) from the data warehouse
-2. Filter the orders by their status (processing or booked)
-3. Calculate the total value of all the booked orders
-4. Notify the team members about the booked orders in the company's Discord channel
-5. Insert the details about the processing orders in Airtable for follow-up
+2. Filter the orders by their status (Processing or Booked)
+3. Calculate the total value of all the Booked orders
+4. Notify the team members about the Booked orders in the company's Discord channel
+5. Insert the details about the Processing orders in Airtable for follow-up
6. Schedule this workflow to run every Monday morning
-Nathan's workflow involves sending data from the company's data warehouse to two external services: Discord and Airtable. In between, the data has to be wrangled with general functions (conditional filtering, calculation, scheduling).
+Nathan's workflow involves sending data from the company's data warehouse to two external services:
+- Discord
+- Airtable
+
+In between, the data has to be wrangled with general functions (conditional filtering, calculation, scheduling).
n8n provides integrations for all these steps, so Nathan's workflow in n8n would look like this:
Nathan's workflow
-You will build this workflow in 8 steps:
+You will build this workflow in eight steps:
1. [Getting data from the data warehouse](/courses/level-one/chapter-5/chapter-5.1/)
2. [Inserting data into Airtable](/courses/level-one/chapter-5/chapter-5.2/)
@@ -30,7 +34,7 @@ You will build this workflow in 8 steps:
7. [Scheduling the workflow](/courses/level-one/chapter-5/chapter-5.7/)
8. [Activating and examining the workflow](/courses/level-one/chapter-5/chapter-5.8/)
-To build this workflow, you will need credentials that are sent in the email from n8n when you sign up for this course. If you haven't signed up already, you can do it [here](https://n8n-community.typeform.com/to/PDEMrevI?typeform-source=127.0.0.1){:target="_blank" .external-link}. If you haven't received a confirmation email after signing up, [contact us](mailto:course@n8n.io).
+To build this workflow, you will need the credentials that were sent in the email from n8n when you signed up for this course. If you haven't signed up already, you can do it [here](https://n8n-community.typeform.com/to/PDEMrevI?typeform-source=127.0.0.1){:target="_blank" .external-link}. If you haven't received a confirmation email after signing up, [contact us](mailto:course@n8n.io).
diff --git a/docs/courses/level-one/chapter-5/chapter-5.1.md b/docs/courses/level-one/chapter-5/chapter-5.1.md
index 69ebc9459..861eb7856 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.1.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.1.md
@@ -2,74 +2,83 @@
contentType: tutorial
---
-# 1. Getting Data From the Data Warehouse
+# 1. Getting data from the data warehouse
-In this part of the workflow you will learn how to get data by making HTTP requests using the *HTTP Request* node.
+In this part of the workflow you will learn how to get data by making HTTP requests using the [**HTTP Request**](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) node.
-First, let's set up the scene for building Nathan's workflow. Open your Editor UI and create a new workflow with one of the two possible commands:
+First, let's set up the scene for building Nathan's workflow.
-- Click **Ctrl + Alt + N** or **Cmd + Option + N** on your keyboard
-- Open the left menu and click on *New* under the Workflow section
+## Create new workflow
-Name this new workflow “Nathan's workflow.”
+Open your Editor UI and create a new workflow with one of the two possible commands:
+
+- Select **Ctrl + Alt + N** or **Cmd + Option + N** on your keyboard.
+- Open the left menu, navigate to **Workflows**, and select **Add workflow**.
+
+Name this new workflow "Nathan's workflow."
The first thing you need to do is get data from ABCorp's old data warehouse.
-In the previous chapter, you used a specific action in the app (Y Combinator). However, not all apps or services have dedicated nodes, like the legacy data warehouse from Nathan's company.
+In the previous chapter, you used an action node connected to a specific app (Hacker News). But not all apps or services have dedicated nodes, like the legacy data warehouse from Nathan's company.
-Though it's not possible to directly export the data, the data warehouse has a couple of API endpoints. That's all we need to access the data using the [***HTTP Request node***](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/){:target="_blank" .external} in n8n.
+Though we can't directly export the data, Nathan told us that the data warehouse has a couple of API endpoints. That's all we need to access the data using the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) in n8n.
/// note | No node for that service?
-The *HTTP Request node* is one of the most versatile nodes, allowing you to make HTTP requests which can be used to query data from apps and services. You can use it to access data from apps or services that don't have a dedicated node in n8n.
+The HTTP Request node is one of the most versatile nodes, allowing you to make HTTP requests to query data from apps and services. You can use it to access data from apps or services that don't have a dedicated node in n8n.
///
-Now, in your Editor UI, add an *HTTP Request node* like you learned in the lesson [Adding nodes](/courses/level-one/chapter-1/#adding-nodes). The node window will open, where you need to configure some parameters.
+## Add an HTTP Request node
+
+Now, in your Editor UI, add an HTTP Request node like you learned in the lesson [Adding nodes](/courses/level-one/chapter-1/#adding-nodes). The node window will open, where you need to configure some parameters.
HTTP Request node
-In the panel, select:
-
-- *URL:* The Dataset URL you received in the email when you signed up for this course.
-- *Headers > Add Header:*
- - *Name:* `unique_id`
- - *Value:* The Unique ID you received in the email when you signed up for this course.
-- *Authentication > Generic Credential Type > Generic Auth Type:* Header Auth
- This option requires credentials to allow you to access the data.
+This node will use credentials.
/// note | Credentials
Credentials are unique pieces of information that identify a user or a service and enable them to access apps or services (in our case, represented as n8n nodes). A common form of credentials is a username and a password, but they can take other forms depending on the service.
///
-To add your credentials, click on the field *Credential for Header Auth* and select *Create New Credential*. This will open the Credentials window.
+In this case, we'll need to provide credentials to access the ABCorp data warehouse API.
-In the *Connection* tab, fill in the two fields:
-- *Name:* The Header Auth name you received in the email when you signed up for this course.
-- *Value:* The Header Auth value you received in the email when you signed up for this course.
+In the Parameters of the HTTP Request node, make the following adjustments:
+
+- **Method**: This should default to GET. Make sure it's set to GET.
+- **URL**: Add the Dataset URL you received in the email when you signed up for this course.
+- **Send Headers**: Toggle this control to true. In **Specify Headers**, ensure **Using Fields Below** is selected.
+ - **Header Parameters** > **Name**: Enter `unique_id`.
+ - **Header Parameters** > **Value**: The Unique ID you received in the email when you signed up for this course.
+- **Authentication**: Select **Generic Credential Type**. This option requires credentials to allow you to access the data.
+ - **Generic Auth Type**: Select **Header Auth**. (This field will appear after you select the Generic Credential Type for the Authentication.)
+ - **Credential for Header Auth**: To add your credentials, select **Create New Credential**. This will open the Credentials window.
+ - In the Credentials window, set **Name** to be the Header Auth name you received in the email when you signed up for this course.
+ - In the Credentials window, set **Value** to be the Header Auth value you received in the email when you signed up for this course.
+ - Click on the **Save** button in the Credentials window to save your credentials. Your **Credentials Connection** window should look like this:
+ HTTP Request node credentials
/// note | Credentials naming
New credentials are named "*node name* account" by default. You can rename the credentials by clicking on the name, similarly to renaming nodes. It's good practice to give them names that identify the app/service, type, and purpose of the credential. A naming convention makes it easier to keep track of and identify your credentials.
///
-Click on the *Save* button in the top right corner to save your credentials. Your *Credentials Connection* window should look like this:
-HTTP Request node credentials
+## Get the data
-Now click the *Save* button in the bottom right corner of the window.
+Select the **Test step** button in the HTTP Request node window. The result of the HTTP request should look like this:
-In the *HTTP Request node* window, click the *Execute Node* button. The result of the HTTP request should look like this:
+HTTP Request node output
-HTTP Request node window
+This view should be familiar to you from the [Building a mini-workflow](/courses/level-one/chapter-2/).
-This view should be familiar to you from the [Hacker News mini-workflow](/courses/level-one/chapter-2/). This is the data from ABCorp's data warehouse that Nathan needs to work with. This data set includes sales information of 30 customers with 5 features:
+This is the data from ABCorp's data warehouse that Nathan needs to work with. This data set includes sales information of 30 customers with five columns:
- `orderID`: The unique id of each order.
- `customerID`: The unique id of each customer.
-- `employeeName`: The name of Nathan's colleagues who are responsible for each client.
+- `employeeName`: The name of Nathan's colleague who is responsible for the customer.
- `orderPrice`: The total price of the customer's order.
-- `orderStatus`: Whether the customer's order is booked or still in processing.
+- `orderStatus`: Whether the customer's order status is booked (booked) or still in processing (processing).
## What's next?
-**Nathan 🙋**: This is great! You already automated an important part of my job with only one node. Now instead of manually accessing the data every time I need it, I can use the HTTP Node to automatically get the information.
+**Nathan 🙋**: This is great! You already automated an important part of my job with only one node. Now instead of manually accessing the data every time I need it, I can use the HTTP Request Node to automatically get the information.
**You 👩🔧**: Exactly! In the next step, I'll help you one step further and insert the received data into Airtable, as you need it.
diff --git a/docs/courses/level-one/chapter-5/chapter-5.2.md b/docs/courses/level-one/chapter-5/chapter-5.2.md
index ceed29755..9a7448988 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.2.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.2.md
@@ -2,18 +2,20 @@
contentType: tutorial
---
-# 2. Inserting Data into Airtable
+# 2. Inserting data into Airtable
-In this step of the workflow you will learn how to insert the data received using the HTTP Request node into Airtable using the *Airtable* node.
+In this step of the workflow, you will learn how to insert the data received from the HTTP Request node into Airtable using the [Airtable node](/integrations/builtin/app-nodes/n8n-nodes-base.airtable/).
/// note | Spreadsheet nodes
-You can replace the *Airtable* node with another spreadsheet app/service. For example, n8n also has nodes for [*Google Sheets*](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/){:target="_blank" .external} and [*Spreadsheet File*](/integrations/builtin/core-nodes/n8n-nodes-base.spreadsheetfile/){:target="_blank" .external}.
+You can replace the Airtable node with another spreadsheet app/service. For example, n8n also has a node for [**Google Sheets**](/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/).
///
-At this point, your workflow should look like this:
+After this step, your workflow should look like this:
Workflow with the Airtable node
+## Configure your table
+
If we're going to insert data into Airtable, we first need to set up a table there. To do this:
1. [Create an Airtable account](https://airtable.com/signup){:target="_blank" .external}.
@@ -21,39 +23,55 @@ If we're going to insert data into Airtable, we first need to set up a table the
Create an Airtable base
-3. In the beginner course base you have by default a *Table 1* with four fields: *Name, Notes, Assignee, and Status*.
+3. In the beginner course base you have by default a **Table 1** with four fields: `Name`, `Notes`, `Assignee`, and `Status`.
These fields aren't relevant for us since they aren't in our orders data set. This brings us to the next point: the names of the fields in Airtable have to match the names of the columns in the node result.
- Replace the four default table fields with the five column names from the data set, selecting **Number** field type for `orderID`, `customerID`, and `orderPrice`, and **Single line text** for `employeeName` and `orderStatus`.
- Delete the 3 blank rows created by default.
- - Also, rename the table from *Table 1* to *orders* to make it easier to identify.
+ - Also, rename the table from **Table 1** to **orders** to make it easier to identify.
Now your table should look like this:
Orders table in Airtable
-Now that the table is prepared let's return to the workflow in the Editor UI.
+Now that the table is ready, let's return to the workflow in the n8n Editor UI.
-Add an ***Airtable node*** connected to the HTTP Request node.
+## Add an Airtable node to the HTTP Request node
+Add an Airtable node connected to the HTTP Request node.
-In the *Airtable node* window, configure the following parameters:
+///note | Remember
+You can add a ndoe connected to an existing node by selecting the **+** icon next to the existing node.
+///
-- *Credential to connect with:*
+In the node panel:
+
+1. Search for Airtable.
+2. Select **Create a record** from the **Record Actions** search results.
+
+This will add the Airtable node to your canvas and open the node details window.
+
+In the Airtable node window, configure the following parameters:
+
+- **Credential to connect with**:
- Select 'Create new credential'
- Keep the default option 'Connect using: Access Token' selected
- - *Access token:* Follow the instructions [here](/integrations/builtin/credentials/airtable/){:target="_blank" .external} to create your token.
+ - **Access token**: Follow the instructions [here](/integrations/builtin/credentials/airtable/){:target="_blank"} to create your token.
Adding credentials for Airtable is similar to the HTTP Request node you configured in the previous chapter. However, the process of obtaining an API key for Airtable (and other apps/services) is different.
-- *Resource:* Record
-- *Operation:* Create. This operation will create the new record in the table.
-- *Base:* You can pick your base from a list(e.g beginner course), URL or ID after authenticating. If you wish to use the Base ID, go to [Airtable's API page](https://airtable.com/developers/web/api/introduction){:target="_blank" .external} and find the relevant base (located at the bottom of the page). Then click the base title and you'll find the ID on that page.
-- *Table:* orders
-- *Mapping Column Mode:* Map automatically. In this mode, the incoming data fields are named the same as the columns in Airtable
+- **Resource**: Record
+- **Operation**: Create. This operation will create the new record in the table.
+- **Base**: You can pick your base from a list(e.g beginner course), URL or ID after authenticating. If you wish to use the Base ID, go to [Airtable's API page](https://airtable.com/developers/web/api/introduction){:target="_blank" .external} and find the relevant base (located at the bottom of the page). Then click the base title and you'll find the ID on that page.
+- **Table**: orders
+- **Mapping Column Mode**: Map automatically. In this mode, the incoming data fields are named the same as the columns in Airtable
-Now execute the *Airtable* node and you should get the following result:
+## Test the Airtable node
+
+Once you've finished configuring the Airtable node, execute it by selecting **Test step**.
+
+Your results should look like this:
Airtable node results
-All 30 data records will now appear in the orders table:
+All 30 data records will now appear in the orders table in Airtable:
Imported records in the orders table
diff --git a/docs/courses/level-one/chapter-5/chapter-5.3.md b/docs/courses/level-one/chapter-5/chapter-5.3.md
index 4dc68b007..a6420901f 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.3.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.3.md
@@ -4,50 +4,85 @@ contentType: tutorial
# 3. Filtering Orders
-In this step of the workflow you will learn how to filter data using conditional logic and how to use expressions in nodes using the *IF* node.
+In this step of the workflow you will learn how to filter data using conditional logic and how to use expressions in nodes using the If node.
To insert only processing orders into Airtable we need to filter our data by `orderStatus`. Basically, we want to tell the program that _if_ the `orderStatus` is processing, _then_ insert all records with this status into Airtable; _else_, for example, if the `orderStatus` isn't *processing*, calculate the sum of all orders with the other `orderStatus (booked)`.
-This if-then-else command is conditional logic. In n8n workflows, conditional logic can be implemented with the [**IF node**](/integrations/builtin/core-nodes/n8n-nodes-base.if/){:target="_blank" .external}, which splits a workflow conditionally based on comparison operations.
+This if-then-else command is conditional logic. In n8n workflows, conditional logic can be implemented with the [If node](/integrations/builtin/core-nodes/n8n-nodes-base.if/){:target="_blank" .external}, which splits a workflow conditionally based on comparison operations.
-/// note | IF vs Switch
-If you need to filter data on more than two conditional routes that are possible with the *IF* node (true and false), use the [*Switch node*](/integrations/builtin/core-nodes/n8n-nodes-base.switch/){:target="_blank" .external}. The *Switch node* is similar to the *IF* node, but supports multiple output routes.
+/// note | If vs. Switch
+If you need to filter data on more than two conditional routes that are possible with the If node (true and false), use the [Switch node](/integrations/builtin/core-nodes/n8n-nodes-base.switch/){:target="_blank" .external}. The Switch node is similar to the If node, but supports multiple output routes.
///
-Back to your workflow, remove the connection between the *HTTP Request* node and the *Airtable* node. Add an *IF* node connected to the *HTTP Request* node.
+## Remove the connection to the Airtable node
-In the *IF* node window click on *Add Condition* > *string* and configure the parameters:
+First, let's remove the connection between the HTTP Request node and the Airtable node:
-- *Value 1*: **Current Node** > **Input Data** > **JSON** > **orderStatus** → `{{$json["orderStatus"]}}`
-To select this value, click the **Expression** tab on the right side of the Value 1 field.
+1. Hover over the arrow connection the **HTTP Request** node and the **Airtable** node.
+2. Select the trash icon to remove the connection.
- /// note | Expressions
- An expression is a string of characters and symbols in a programming language that represents a value depending upon its input. In n8n workflows, you can use expressions in a node to refer to another node for input data. In our example, the IF node references the data output by the HTTP Request node.
- ///
+## Configure the If node
+With the connection to the Airtable node removed, add an If node connected to the HTTP Request node:
- Expression Editor in the IF node
+1. Select the **+** sign coming off the HTTP Request node.
+2. Search for the If node.
+3. Select it when it appears in the search.
-- *Operation:* equal
-- *Value 2:* processing
+For the If node, we'll use an expression.
+
+/// note | Expressions
+An expression is a string of characters and symbols in a programming language that represents a value depending upon its input. In n8n workflows, you can use expressions in a node to refer to another node for input data. In our example, the If node references the data output by the HTTP Request node.
+///
+
+In the If node window, configure the parameters:
+
+- **Value 1**: `{{$json["orderStatus"]}}`
+ 1. To select this value, first hover over the value1 field.
+ 2. Select the **Expression** tab on the right side of the Value 1 field.
+ 3. Next, open the expression editor by selecting the link icon:
+ Opening the Expression Editor
+ 4. Now use the **Variable Selector** navigation to open **Current Node** > **Input Data** > **JSON**.
+ 5. Select **orderStatus**.
+ Expression Editor in the If node
+ 6. Once the Expression is added, close the **Edit Expression** dialog.
+
+- **Operation**: **String** > **is equal to**
+- **Value 2**: processing
/// warning | Data Type
-Make sure to select the correct data type (boolean, date & time, number, or string) of the referenced data in *Add Condition*.
+Make sure to select the correct data type (boolean, date & time, number, or string) when you select the **Operation**.
///
-Now execute the IF node and have a look at the resulting data, which should look like this:
+Select **Test step** to test the If node.
-IF node
+Your results should look like this:
-Next, we want to insert this data into Airtable. You already know how to do this from the previous chapter where we inserted all data into the *orders* table.
+If node output
+
+Note that the orders with `orderStatus` equal to `processing` should show for the True Branch output, while the orders with `orderStatus` equal to `booked` should show in the False Branch output.
+
+## Insert data into Airtable
+
+Next, we want to insert this data into Airtable. Remember what Nathan said at the end of the [Inserting data into Airtable](/courses/level-one/chapter-5/chapter-5.2/) lesson?
+
+> I actually need to insert only processing orders in the table...
+
+Since Nathan only needs the `processing` orders in the table, we'll connect the Airtable node to the If node's `true` connector.
+
+In this case, since the Airtable node is already on our canvas, select the **HTTP Request** `true` connector and drag it to the Airtable node.
+
+It's a good idea at this point to retest the Airtable node. Before you do, open your table in Airtable and delete all existing rows. Then open the Airtable node window in n8n and select **Test step**.
+
+Review your data in Airtable to be sure your workflow only added the correct orders (those with orderStatus of `processing`).
At this stage, your workflow should look like this:
-Workflow with the IF node
+Workflow with the If node
## What's next?
-**Nathan 🙋**: This IF node is really useful for filtering data! Now I have all the information about processing orders. I actually only need the `employeeName` and `orderId`, but I guess I can keep all the other fields just in case.
+**Nathan 🙋**: This If node is really useful for filtering data! Now I have all the information about processing orders. I actually only need the `employeeName` and `orderId`, but I guess I can keep all the other fields just in case.
**You 👩🔧**: Actually, I wouldn't recommend doing that. Inserting more data requires more computational power, the data transfer is slower and takes longer, and takes up more storage resources in your table. In this particular case, 14 records with 5 features might not seem like a lot to make a significant difference, but if your business grows to thousands of records and tens of features, things add up and even one extra column can affect performance.
diff --git a/docs/courses/level-one/chapter-5/chapter-5.4.md b/docs/courses/level-one/chapter-5/chapter-5.4.md
index 7c4992283..3b7384e41 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.4.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.4.md
@@ -4,43 +4,58 @@ contentType: tutorial
# 4. Setting Values for Processing Orders
-In this step of the workflow you will learn how to select and set data before transferring it to Airtable using the *Set* node.
+In this step of the workflow, you will learn how to select and set data before transferring it to Airtable using the Edit Fields (Set) node.
-The next step in Nathan's workflow is to insert the `employeeName` and `orderId` of all *processing* orders into Airtable.
+The next step in Nathan's workflow is to insert the `employeeName` and `orderId` of all `processing` orders into Airtable.
-For this, you need to use the [**Set node**](/integrations/builtin/core-nodes/n8n-nodes-base.set/){:target="_blank" .external}, which allows you to select and set the data you want to be transferred from one app/service to another.
+For this, you need to use the [Edit Fields (Set) node](/integrations/builtin/core-nodes/n8n-nodes-base.set/), which allows you to select and set the data you want to transfer from one app/service to another.
-/// note | Set node
-The *Set* node can set completely new data as well as overwrite data that already exists. This node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values into spreadsheets or databases.
+/// note | Edit Fields node
+The Edit Fields node can set completely new data as well as overwrite data that already exists. This node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values into spreadsheets or databases.
///
-In your workflow, add a new *Set* node between the *IF* node and the *Airtable* node. In the Set node window you need to toggle *Keep Only Set* to true and then add two values:
+## Disconnect the Airtable node
+In your workflow, disconnect the Airtable node** from the **If node in the same way we disconnected it in the [Filtering Orders](/courses/level-one/chapter-5/chapter-5.3/) lesson.
-- *Add Value > Number:*
- - *Name:* `orderId`
- - *Value:* `{{$json["orderID"]}}`
- *Current Node > Input Data > JSON > orderID*
-- *Add Value > String:*
- - *Name:* `employeeName`
- - *Value:* `{{$json["employeeName"]}}`
- *Current Node > Input Data > JSON > employeeName*
+## Configure the Edit Fields node
-After setting the two values, also make sure you set the option "Include in output" to "No input fields" to only include the fields specified above.
+Now add a new Edit Fields (Set) node** attached to the **If node's `true` connector by selecting the **+** icon with that connector and searching for **Edit Fields**.
-Then click on *Execute Node* and you should see the following results:
+With the Edit Fields node window open, configure these parameters:
-Set node
+- Ensure **Mode** is set to **Manual Mapping**.
+- While you can use the **Expression editor** we used in the [Filtering Orders](/courses/level-one/chapter-5/chapter-5.3/) lesson, this time, let's drag the fields from the **Input** into the **Fields to Set**:
+ - Drag **orderID** as the first field.
+ - Drag **employeeName** as the second field.
+- Ensure that **Include Other Input Fields** is set to false.
-Next, we need to insert these values into Airtable. Go to your Airtable account and add a new table called `processingOrders` with two columns, `orderId` and `employeeName`, just like you learned in the lesson [Inserting data into Airtable](/courses/level-one/chapter-5/chapter-5.2/).
+Select **Test step**. You should see the following results:
-Remember to update the Airtable node configuration to point to this new table.
+Edit Fields (Set) node
-Once that's done, execute the *Airtable* node in the workflow and you should see the records inserted in the table.
+## Add data to Airtable
-At this stage, it looks like this:
+Next, let's insert these values into Airtable:
-Workflow with the Set node
+1. Go to your Airtable account.
+2. Add a new table called `processingOrders`. You can add this table to your existing workspace/table if you choose.
+3. Add two columns to this table:
+ - `orderId`: Number
+ - `employeeName`: Single line text
+
+ ///note | Reminder
+ If you get stuck, refer back to the [Inserting data into Airtable](/courses/level-one/chapter-5/chapter-5.2/) lesson.
+ ///
+
+4. Be sure to delete the three empty rows in the new table!
+5. With the new table created, update the Airtable node configuration to point to this new `processingOrders` table instead of the `orders` table.
+6. Connect the Edit Fields node** connector to the **Airtable node.
+7. Test your Airtable node to be sure it inserts records into the new `processingOrders` table.
+
+At this stage, your workflow should now look like this:
+
+Workflow with the Edit Fields node
## What's next?
diff --git a/docs/courses/level-one/chapter-5/chapter-5.5.md b/docs/courses/level-one/chapter-5/chapter-5.5.md
index e7459dad5..88e1100ad 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.5.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.5.md
@@ -4,17 +4,19 @@ contentType: tutorial
# 5. Calculating Booked Orders
-In this step of the workflow you will learn how n8n data is structured and how to add custom JavaScript code to perform calculations using the *Code* node.
+In this step of the workflow you will learn how n8n data is structured and how to add custom JavaScript code to perform calculations using the Code node.
The next step in Nathan's workflow is to calculate two values from the booked orders:
- The total number of booked orders
- The total value of all booked orders
-To calculate data and add more functionality to your workflows you can use the **Code node**, which lets you write custom JavaScript code.
+To calculate data and add more functionality to your workflows you can use the Code node, which lets you write custom JavaScript code.
+
+## About the Code node
/// warning | Code node modes
-The **Code node** has two operational *Modes* that change the way it processes data. The *Run Once for All Items* mode allows you to accumulate data from all items on the input list. The *Run Once for Each Item* is used to add custom snippets of JavaScript code that should be executed once for every item that it receives as the input. Learn more about how to use the [Code node](/integrations/builtin/core-nodes/n8n-nodes-base.code/){:target="_blank" .external}.
+The Code node has two operational **Modes** that change the way it processes data. The **Run Once for All Items** mode allows you to accumulate data from all items on the input list. The **Run Once for Each Item** is used to add custom snippets of JavaScript code that should be executed once for every item that it receives as the input. Learn more about how to use the [Code node](/integrations/builtin/core-nodes/n8n-nodes-base.code/).
///
- Create your own node.
- Write custom expressions.
@@ -29,13 +31,13 @@ In n8n, the data that's passed between nodes is an array of objects with the fol
// Each item has to contain a "json" property. But it can be an empty object like {}.
// Any kind of JSON data is allowed. So arrays and the data being deeply nested is fine.
json: { // The actual data n8n operates on (required)
- // This data is only an example it could be any kind of JSON data
+ // This data is only an example, it could be any kind of JSON data
apple: 'beets',
carrot: {
dill: 1
}
},
- // Binary data of item. The most items in n8n do not contain any (optional)
+ // Binary data of item. Most items in n8n do not contain any (optional)
binary: {
// The key-name "apple" is only an example. Any kind of key-name is possible.
apple-picture: {
@@ -49,12 +51,17 @@ In n8n, the data that's passed between nodes is an array of objects with the fol
...
]
```
+## Configure the Code node
Now let's see how to implement this.
-- In your workflow, add a *Code* node connected to the false branch of the *IF* node.
-- In the *Code* node window paste the following code in the JavaScript Code box:
+In your workflow, add a Code node** connected to the `false` branch of the **If node.
+With the Code node window open, configure these parameters:
+
+- **Mode**: Select **Run Once for All Items**
+- **Language**: Select **JavaScript**
+- Copy the Code below and paste it into the **Code** box:
```javascript
let items = $input.all();
let totalBooked = items.length;
@@ -66,19 +73,19 @@ for(let i=0; i < items.length; i++) {
return [{json:{totalBooked, bookedSum}}];
```
-Notice the format in which we return the results of the calculation:
+Notice the format in which we return the results of the calculation:
`return [{json:{totalBooked, bookedSum}}]`
/// warning | Data structure error
If you don't use the correct data structure, you will get an error message: `Error: Always an Array of items has to be returned!`
///
-Now execute the node and you should see the following results:
+Now select **Test step** and you should see the following results:
-Code node
+Code node output
/// note | Using Python in code nodes
-You can also use Python in the Code node. To learn more about this, refer to the [Code](/code/code-node/) documentation.
+You can also use Python in the Code node. To learn more about this, refer to the [Code node](/code/code-node/) documentation.
///
## What's next?
@@ -89,4 +96,4 @@ You can also use Python in the Code node. To learn more about this, refer to the
**Nathan 🙋**: Now, how do I send the calculations for the booked orders to my team's Discord channel?
-**You 👩🔧**: There's an n8n node for that: I'll set it up in the next step.
+**You 👩🔧**: There's an n8n node for that. I'll set it up in the next step.
diff --git a/docs/courses/level-one/chapter-5/chapter-5.6.md b/docs/courses/level-one/chapter-5/chapter-5.6.md
index 7d9d05c24..33999dec4 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.6.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.6.md
@@ -4,22 +4,41 @@ contentType: tutorial
# 6. Notifying the Team
-In this step of the workflow you will learn how to send messages to a Discord channel using the [Discord node](/integrations/builtin/app-nodes/n8n-nodes-base.discord/){:target="_blank" .external}.
+In this step of the workflow, you will learn how to send messages to a Discord channel using the [Discord node](/integrations/builtin/app-nodes/n8n-nodes-base.discord/).
Now that you have a calculated summary of the booked orders, you need to notify Nathan's team in their Discord channel. For this workflow, you will send messages to the [n8n server](https://discord.gg/G98WXzsjky){:target="_blank" .external} on Discord.
+Before you begin the steps below, use the link above to connect to the n8n server on Discord. Be sure you can access the `#course-level-1` channel.
+
/// note | Communication nodes
You can replace the Discord node with another communication app. For example, n8n also has nodes for [Slack](/integrations/builtin/app-nodes/n8n-nodes-base.slack/){:target="_blank" .external} and [Mattermost](/integrations/builtin/app-nodes/n8n-nodes-base.mattermost/){:target="_blank" .external}.
///
-In your workflow, add a Discord node connected to the Code node. In the Discord node window, configure the parameters:
+In your workflow, add a Discord node connected to the Code node.
-- *Connection Type:* Select 'Webhook'.
-- *Webhook URL:* Enter the URL that you received in the email from n8n when you signed up for this course.
-- *Content (Expression):* This week we've `{{$json["totalBooked"]}}` booked orders with a total value of `{{$json["bookedSum"]}}`. My Unique ID: `{{ $('HTTP Request').params["headerParameters"]["parameters"][0]["value"] }}`
+When you search for the Discord node, look for **Message Actions** and select **Send a message** to add the node.
+In the Discord node window, configure these parameters:
-Now execute the Discord node. If all works well, your message should appear in the Discord channel #course-level-1.
+- **Connection Type**: Select **Webhook**.
+- **Credential for Discord Webhook**: Select **- Create New Credential -**.
+ - Copy the **Webhook URL** from the email you received when you signed up for this course and paste it into the **Webhook URL** field of the credentials.
+ - Select **Save** and then close the credentials dialog.
+- **Operation**: Select **Send a Message**.
+- **Message**:
+ - Select the **Expression** tab on the right side of the Message field.
+ - Copy the text below and paste it into the **Expression** window, or construct it manually using the **Expression Editor**.
+ - `This week we've {{$json["totalBooked"]}} booked orders with a total value of {{$json["bookedSum"]}}. My Unique ID: {{ $('HTTP Request').params["headerParameters"]["parameters"][0]["value"] }}`
+
+ /// note | Constructing your own message
+ To add the Unique ID portion of the statement, you'll need to expand **Nodes** > **HTTP Request** > **Parameters** > **headerParameters** > **parameters** > **[Item: 0]** and select the **value**.
+ ///
+
+Now select **Test step** in the Discord node. If all works well, you should see this output in n8n:
+
+Discord node output
+
+And your message should appear in the Discord channel #course-level-1:
Discord message
diff --git a/docs/courses/level-one/chapter-5/chapter-5.7.md b/docs/courses/level-one/chapter-5/chapter-5.7.md
index f56fb50cc..31680ca25 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.7.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.7.md
@@ -4,27 +4,53 @@ contentType: tutorial
# 7. Scheduling the Workflow
-In this step of the workflow you will learn how to schedule your workflow so that it runs automatically at a set time/interval using the Schedule Trigger Node.
+In this step of the workflow, you will learn how to schedule your workflow so that it runs automatically at a set time/interval using the Schedule Trigger node.
-The workflow you've built so far executes only when you click on _Execute Workflow_. But Nathan needs it to run automatically every Monday morning. You can do this with the [Schedule Trigger](/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/){:target="_blank" .external}, which allows you to schedule workflows to run periodically at fixed dates, times, or intervals.
+The workflow you've built so far executes only when you click on **Test Workflow**. But Nathan needs it to run automatically every Monday morning. You can do this with the [Schedule Trigger](/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/), which allows you to schedule workflows to run periodically at fixed dates, times, or intervals.
-In your workflow, add the Schedule trigger node, and configure its parameters:
+To achieve this, we'll remove the Manual trigger node we started with and replace it with a Schedule Trigger node instead.
-* _Trigger Interval:_ `Every Week`
-* _Weeks Between Triggers:_ `1`
-* _Trigger on weekdays:_ `Monday`
-* _Trigger at Hour:_ `9am`
-* _Trigger at Minute:_ `0`
+## Remove the Manual trigger node
+
+First, let's remove the Manual trigger node:
+
+1. Select the Manual trigger node connected to your HTTP Request node.
+2. Select the trash can icon to delete.
+
+The Manual trigger node will be removed and you'll see an "Add first step" option.
+
+## Add the Schedule Trigger node
+
+1. Open the nodes panel and search for **Schedule Trigger**.
+2. Select it when it appears in the search results.
+
+In the Schedule Trigger node window, configure these parameters:
+
+- **Trigger Interval**: Select **Weeks**.
+- **Weeks Between Triggers**: Enter `1`.
+- **Trigger on weekdays**: Select **Monday** (and remove **Sunday** if it was automatically added).
+- **Trigger at Hour**: Select **9am**.
+- **Trigger at Minute**: Enter `0`.
+
+Your Schedule Trigger node should look like this:
Schedule Trigger Node
/// warning | Keep in mind
-To ensure accurate scheduling with the Schedule Trigger Node, be sure the timezone is set correctly for your n8n instance (or the workflow).
+To ensure accurate scheduling with the Schedule Trigger node, be sure the timezone is set correctly for your [n8n instance](/manage-cloud/set-cloud-timezone/) or the [workflow's settings](/workflows/settings/). The Schedule Trigger node will use the workflow's timezone if it's set; it will fall back to the n8n instance's timezone if it's not.
///
+## Connect the Schedule Trigger node
+
+Return to the canvas and connect your Schedule Trigger node to the HTTP Request node by dragging the arrow from it to the HTTP Request node.
+
+Your full workflow should look like this:
+
+Full workflow
+
## What's next?
-**You 👩🔧**: That was it for the workflow! I've added and configured all necessary nodes. Now every time you click on Execute Workflow, all nodes will be executed: getting, filtering, calculating, and transferring the sales data.
+**You 👩🔧**: That was it for the workflow! I've added and configured all necessary nodes. Now every time you click on **Test workflow**, all nodes will be executed: getting, filtering, calculating, and transferring the sales data.
**Nathan 🙋**: This is just what I needed! My workflow will run automatically every Monday morning, correct?
diff --git a/docs/courses/level-one/chapter-5/chapter-5.8.md b/docs/courses/level-one/chapter-5/chapter-5.8.md
index e05629447..607066cf7 100644
--- a/docs/courses/level-one/chapter-5/chapter-5.8.md
+++ b/docs/courses/level-one/chapter-5/chapter-5.8.md
@@ -4,51 +4,53 @@ contentType: tutorial
# 8. Activating and Examining the Workflow
-In this step of the workflow you will learn how to activate your workflow and change the default workflow settings.
+In this step of the workflow, you will learn how to activate your workflow and change the default workflow settings.
Activating a workflow means that it will run automatically every time a trigger node receives input or meets a condition. By default, all newly created workflows are deactivated.
-To activate your workflow toggle the *Active* button on the top right corner of the Editor UI. Nathan's workflow will now be executed automatically every Monday at 9 AM.
+To activate your workflow, set the **Inactive** toggle in the top navigation of the Editor UI to be **Activated**. Nathan's workflow will now be executed automatically every Monday at 9 AM:
Activated workflow
-**Workflow Executions**
+## Workflow Executions
An execution represents a completed run of a workflow, from the first to the last node. n8n logs workflow executions, allowing you to see if the workflow was completed successfully or not. The execution log is useful for debugging your workflow and seeing at what stage it runs into issues.
-To see the execution log, in your Editor UI click on *Executions* in the left panel. This will open the *Workflow Executions* window.
+To see the execution log, in your Editor UI select **All executions** in the left panel. This will open the **Executions** window.
-Workflow Execution List
+Execution List
-The *Workflow Executions* window displays a table with the following information:
+The **Executions** window displays a table with the following information:
-* _Name:_ The name of the workflow
-* _Started At:_ The date and time when the workflow started
-* _Status / Running time:_ The status of the workflow (Running, Succeeded or Error) / The duration it took the workflow to execute
-* _Execution ID:_ The ID of this workflow execution
+- **Name**: The name of the workflow
+- **Started At**: The date and time when the workflow started
+- **Status**: The status of the workflow (Waiting, Running, Succeeded, Cancelled, or Failed) and the amount of time it took the workflow to execute
+- **Execution ID**: The ID of this workflow execution
/// note | Workflow execution status
-In the **Workflow Executions** window you can filter the displayed executions by workflow and by status (**All**, **Error**, **Running**, or **Success**).
-The information displayed here depends on what workflows and executions you set up in *Workflow Settings* to be saved.
+You can filter the displayed **Executions** by workflow and by status (**Any Status**, **Failed**, **Cancelled**, **Running**, **Success**, or **Waiting**).
+The information displayed here depends on which executions are configured to be saved in the [**Workflow Settings**](/workflows/settings/).
///
-**Workflow Settings**
+## Workflow Settings
-You can customize your workflows and executions, or overwrite some of the global default settings in *Workflow Settings*. These settings are located in the top right of the Editor UI, and can be accessed by clicking on the 3 dots and then settings.
+You can customize your workflows and executions, or overwrite some of the global default settings in [**Workflow Settings**](/workflows/settings/).
+
+Access these settings by selecting the three dots in the upper right corner of the Editor UI, then select **Settings**.
Workflow Settings
-In the *Workflow Settings* window you can configure the following settings:
+In the **Workflow Settings** window you can configure the following settings:
-* _[Error Workflow](/flow-logic/error-handling/error-workflows/){:target="_blank" .external}:_ A workflow to run in case the execution of the current workflow fails.
-* _This workflow can be called by:_ Workflows that are allowed to call this workflow using the Execute Workflow node
-* _Timezone:_ The timezone to use in the current workflow. If not set, the global Timezone (by default "New York") is used. This setting is particularly important for the Schedule Trigger node, as you want to make sure that the workflow gets executed at the right time.
-* _Save failed production executions:_ If the Execution data of the workflow should be saved when it fails.
-* _Save successful production executions:_ If the Execution data of the workflow should be saved when it succeeds.
-* _Save manual executions:_ If executions started from the Editor UI should be saved.
-* _Save execution progress:_ If the execution data of each node should be saved. If Yes, you can resume the workflow from where it stopped in case of an error, though keep in mind that this might make the execution slower.
-* _Timeout Workflow:_ Whether to cancel a workflow execution after a specific period of time
+- [**Error Workflow**](/flow-logic/error-handling/): A workflow to run in case the execution of the current workflow fails.
+- **This workflow can be called by**: Workflows that are allowed to call this workflow using the [Execute Workflow node](/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/).
+- **Timezone**: The timezone to use in the current workflow. If not set, the global timezone (by default "New York") is used. This setting is particularly important for the [Schedule Trigger node](/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/), as you want to make sure that the workflow gets executed at the right time.
+- **Save failed production executions**: If the Execution data of the workflow should be saved when it fails. Default is to save.
+- **Save successful production executions**: If the Execution data of the workflow should be saved when it succeeds. Default is to save.
+- **Save manual executions**: If executions started from the Editor UI should be saved. Default is to save.
+- **Save execution progress**: If the execution data of each node should be saved. If set to Save, you can resume the workflow from where it stopped in case of an error, though keep in mind that this might make the execution slower. Default is not to save.
+- **Timeout Workflow**: Whether to cancel a workflow execution after a specific period of time. Default is not to timeout.
## What's next?
diff --git a/docs/courses/level-one/chapter-6.md b/docs/courses/level-one/chapter-6.md
index 067837f83..b685432c4 100644
--- a/docs/courses/level-one/chapter-6.md
+++ b/docs/courses/level-one/chapter-6.md
@@ -4,11 +4,11 @@ contentType: tutorial
# Exporting and importing workflows
-In this chapter you will learn how to export and import workflows.
+In this chapter, you will learn how to export and import workflows.
## Exporting and importing workflows
-n8n workflows can be saved locally as JSON files. This is useful if you want to share your workflow with someone else, or import a workflow from someone else.
+n8n workflows can be saved locally as JSON files. This is useful if you want to share your workflow with someone else or import a workflow from someone else.
/// warning | Sharing credentials
Note that the exported JSON file of your workflow will contain your credentials as well. If you don't want to share your credentials (recommended), delete them from the JSON file.
@@ -18,9 +18,9 @@ Note that the exported JSON file of your workflow will contain your credentials
You can export and import workflows in two ways:
-* From the Editor UI:
- * Export: From the top navigation bar click on the 3 dots in the top right and click 'Download'. This will download your current workflow as a JSON file on your computer.
- * Import: From the top navigation bar click on the 3 dots in the top right and click on _Import from URL_ (to import a published workflow) or _Import from File_ (to import a workflow as a JSON file).
+* From the **Editor UI**:
+ * Export: From the top navigation bar, select the three dots in the upper right, then select **Download**. This will download your current workflow as a JSON file on your computer.
+ * Import: From the top navigation bar, select the three dots in the upper right, then select **Import from URL** (to import a published workflow) or **Import from File** (to import a workflow as a JSON file).
* From the command line:
* Export: See the [full list of commands ](/hosting/cli-commands/){:target="_blank" .external} for exporting workflows or credentials.
* Import: See the [full list of commands ](/hosting/cli-commands/#import-workflows-and-credentials){:target="_blank" .external} for importing workflows or credentials.
diff --git a/docs/courses/level-one/index.md b/docs/courses/level-one/index.md
index 2bf505fc1..a07cfe626 100644
--- a/docs/courses/level-one/index.md
+++ b/docs/courses/level-one/index.md
@@ -12,9 +12,9 @@ This course introduces you to the fundamental concepts within n8n and develops y
This course is for you if you:
-- Are starting to use n8n for the first time
-- Are looking for some extra help creating your first workflow
-- Want to automate processes in your personal or working life
+- Are starting to use n8n for the first time.
+- Are looking for some extra help creating your first workflow.
+- Want to automate processes in your personal or working life.
## What will I learn in this course?
@@ -23,12 +23,12 @@ We believe in learning by doing. You can expect some theoretical information abo
By the end of this course you will know:
-- How to set up n8n and navigate the Editor UI
-- How data is structured in n8n
-- How to configure different node parameters and add credentials
-- When and how to use conditional logic in workflows
-- How to schedule and control workflows
-- How to import, download, and share workflows with others
+- How to set up n8n and navigate the Editor UI.
+- How n8n structures data.
+- How to configure different node parameters and add credentials.
+- When and how to use conditional logic in workflows.
+- How to schedule and control workflows.
+- How to import, download, and share workflows with others.
You will build two workflows:
@@ -37,14 +37,14 @@ You will build two workflows:
## What do I need to get started?
-1. **n8n set up**: You can use the [self-hosted version](/hosting/installation/npm/){:target="_blank" .external}, or [n8n Cloud](/choose-n8n/cloud/){:target="_blank" .external}.
+1. **n8n set up**: You can use the [self-hosted version](/hosting/installation/npm/){:target="_blank" .external}, or [n8n Cloud](/manage-cloud/overview/){:target="_blank" .external}.
2. **A user ID**: [Sign up here](https://n8n-community.typeform.com/to/PDEMrevI){:target="_blank" .external} to get your unique ID and other credentials you will need in the course.
3. Basic knowledge of JavaScript and [APIs](https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/){:target="_blank" .external} would be helpful, but isn't necessary.
4. An [account on the n8n community forum](/courses/level-one/chapter-5/chapter-5.1/){:target="_blank" .external} if you wish to receive a profile badge and avatar upon successful completion
## How long does the course take?
-Completing the course should take around **two hours**. You don't have to complete it in one go, feel free to take breaks and resume whenever you are ready.
+Completing the course should take around **two hours**. You don't have to complete it in one go; feel free to take breaks and resume whenever you are ready.
## How do I complete the course?
@@ -57,7 +57,7 @@ There are two milestones in this course that test your knowledge of what you hav
You can always **check your progress** throughout the course by entering your unique ID [here](https://internal.users.n8n.cloud/webhook/course-level-1/verify){:target="_blank" .external}.
///
-If you successfully complete the milestones above, you will get [**a badge and an avatar**](https://community.n8n.io/badges/104/completed-n8n-course-level-1){:target="_blank" .external-link} in your forum profile. You can then share your profile and course verification ID to showcase your n8n skills to others.
+If you complete the milestones above, you will get [**a badge and an avatar**](https://community.n8n.io/badges/104/completed-n8n-course-level-1){:target="_blank" .external-link} in your forum profile. You can then share your profile and course verification ID to showcase your n8n skills to others.
diff --git a/docs/courses/level-two/chapter-1.md b/docs/courses/level-two/chapter-1.md
index 107be1e78..b801d678c 100644
--- a/docs/courses/level-two/chapter-1.md
+++ b/docs/courses/level-two/chapter-1.md
@@ -52,7 +52,7 @@ You can access the properties of an object using dot notation with the syntax `o
///
-Data sent from one node to another is sent as an array of JSON objects. The elements in this collection are called [Items](/workflows/items/){:target="_blank"}.
+Data sent from one node to another is sent as an array of JSON objects. The elements in this collection are called items.
Items
@@ -137,7 +137,7 @@ In a Code node, create an array of objects named `myContacts` that contains the
## Referencing node data with the Code node
-Just like you can use [expressions](/code/expressions/) to reference data from other nodes, you can also use some [methods and variables](/code/builtin/) in the Code node.
+Just like you can use [expressions](/code/expressions/) to reference data from other nodes, you can also use some [methods and variables](/code/builtin/overview/) in the Code node.
Please make sure you read these pages before continuing to the next exercise.
diff --git a/docs/courses/level-two/chapter-5/chapter-5.0.md b/docs/courses/level-two/chapter-5/chapter-5.0.md
index 4d0099401..4339b8cb0 100644
--- a/docs/courses/level-two/chapter-5/chapter-5.0.md
+++ b/docs/courses/level-two/chapter-5/chapter-5.0.md
@@ -14,7 +14,7 @@ Remember [our friend Nathan](/courses/level-one/chapter-3){:target="_blank" .ext
## Workflow design
-Now that know what Nathan wants to automate, let's list the steps he needs to take to achieve this:
+Now that we know what Nathan wants to automate, let's list the steps he needs to take to achieve this:
1. Get and combine data from all necessary sources.
2. Sort the data and format the dates.
diff --git a/docs/courses/level-two/chapter-5/chapter-5.1.md b/docs/courses/level-two/chapter-5/chapter-5.1.md
index 1e6acd84c..012ce4044 100644
--- a/docs/courses/level-two/chapter-5/chapter-5.1.md
+++ b/docs/courses/level-two/chapter-5/chapter-5.1.md
@@ -13,7 +13,7 @@ To accomplish this task, you first need to make a copy of this table in your Air
Next, you have to build a small workflow that merges data from Airtable and a REST API.
1. Use the [Airtable node](/integrations/builtin/app-nodes/n8n-nodes-base.airtable/){:target="_blank" .external} to list the data in the Airtable table named `customers`.
-2. use the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/){:target="_blank" .external} to get data from the REST Countries API: `https://restcountries.com/v3.1/all`. This will return data about world countries. Note that the incoming data needs to be split into items.
+2. use the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/){:target="_blank" .external} to get data from the REST Countries API: `https://restcountries.com/v3.1/all`. This will return data about world countries, split out into separate items.
3. Use the [Merge node](/integrations/builtin/core-nodes/n8n-nodes-base.merge/){:target="_blank" .external} to merge data from Airtable and the Countries API by country name (the common key), represented as `customerCountry` in Airtable and `name.common` in the Countries API, respectively.
4. Use the Airtable node to update the fields `region` and `subregion` in Airtable with the data from the Countries API.
diff --git a/docs/courses/level-two/chapter-5/chapter-5.2.md b/docs/courses/level-two/chapter-5/chapter-5.2.md
index 591d01f5a..a209a0d42 100644
--- a/docs/courses/level-two/chapter-5/chapter-5.2.md
+++ b/docs/courses/level-two/chapter-5/chapter-5.2.md
@@ -21,8 +21,8 @@ The first part of the workflow consists of five nodes:
* **Authentication**: Header Auth
* **Credentials for Header Auth**: The Header Auth name and Header Auth value you received in the email when you signed up for this course.
* **URL**: The Dataset URL you received in the email when you signed up for this course.
- * **Options > Add Option > Split Into Items**: toggle to true.
- * **Headers > Add Header**:
+ * **Options** > **Add Option** > **Split Into Items**: toggle to true.
+ * **Headers** > **Add Header**:
* **Name**: `unique_id`
* **Value**: The unique ID you received in the email when you signed up for this course.
@@ -572,4 +572,4 @@ The third part of the workflow consists of seven nodes:
},
"pinData": {}
}
- ```
\ No newline at end of file
+ ```
diff --git a/docs/courses/level-two/chapter-5/chapter-5.3.md b/docs/courses/level-two/chapter-5/chapter-5.3.md
index aa067e454..3c7d9c8fe 100644
--- a/docs/courses/level-two/chapter-5/chapter-5.3.md
+++ b/docs/courses/level-two/chapter-5/chapter-5.3.md
@@ -10,7 +10,7 @@ To accomplish this task, you have to create an Error workflow that monitors the
2. To the Error Trigger node, connect a Discord node and configure the fields:
* Webhook URL: The URL that you received in the email from n8n when you signed up for this course.
- * Text: The workflow `{workflow name}` failed, with the error message: `{execution error message}`. Last node executed: `{name of the last executed node}`. Check this workflow execution here: `{execution URL}`.
+ * Text: The workflow `{workflow name}` failed, with the error message: `{execution error message}`. Last node executed: `{name of the last executed node}`. Check this workflow execution here: `{execution URL}` My Unique ID: `{your ID from the course signup email}`
Note that you need to replace the text in curly brackets `{}` with expressions that take the respective information from the Error Trigger node.
diff --git a/docs/courses/level-two/index.md b/docs/courses/level-two/index.md
index 1e90c0b81..6cf517967 100644
--- a/docs/courses/level-two/index.md
+++ b/docs/courses/level-two/index.md
@@ -29,7 +29,7 @@ You will learn all this by completing short practical exercises after the theore
To follow along this course (at a comfortable pace) you will need the following:
-- **n8n set up**: You can use the [self-hosted version](/hosting/installation/npm/) or [n8n Cloud](/choose-n8n/cloud/).
+- **n8n set up**: You can use the [self-hosted version](/hosting/installation/npm/) or [n8n Cloud](/manage-cloud/overview/).
- **A user ID**: [Sign up here](https://n8n-community.typeform.com/to/HQoQ7nXg) to get your unique ID and other credentials you will need in the course.
- **Basic n8n skills**. We strongly recommend taking the [Level 1 course](/courses/level-one/) prior to this one.
- **Basic JavaScript understanding**.
diff --git a/docs/credentials/add-edit-credentials.md b/docs/credentials/add-edit-credentials.md
index 214cfccc0..0dda99a68 100644
--- a/docs/credentials/add-edit-credentials.md
+++ b/docs/credentials/add-edit-credentials.md
@@ -13,3 +13,7 @@ You can get to the credential modal by either:
Once in the credential modal, enter the details required by your service. Refer to your service's page in the [credentials library](/integrations/builtin/credentials/) for guidance.
When you save a credential, n8n tests it to confirm it works.
+
+/// note | Credentials naming
+n8n names new credentials "*node name* account" by default. You can rename the credentials by clicking on the name, similarly to renaming nodes. It's good practice to give them names that identify the app or service, type, and purpose of the credential. A naming convention makes it easier to keep track of and identify your credentials.
+///
diff --git a/docs/data/binary-data.md b/docs/data/binary-data.md
index 986d07814..76b24cf21 100644
--- a/docs/data/binary-data.md
+++ b/docs/data/binary-data.md
@@ -48,8 +48,8 @@ You can use the [Code node](/code/code-node/) to manipulate binary data in your
## Configure binary data mode when self-hosting
-You can configure how your self-hosted n8n instance handles binary data using the [Binary data environment variables](/hosting/environment-variables/environment-variables/#binary-data). This includes tasks such as setting the storage path and choosing how to store binary data.
+You can configure how your self-hosted n8n instance handles binary data using the [Binary data environment variables](/hosting/configuration/environment-variables/binary-data). This includes tasks such as setting the storage path and choosing how to store binary data.
Your configuration affects how well n8n scales: [Scaling | Binary data filesystem mode](/hosting/scaling/binary-data/).
-Reading and writing binary files can have security implications. If you want to disable reading and writing binary data, use the `NODES_EXCLUDE` environment variable. Refer to [Environment variables | Nodes](https://docs.n8n.io/hosting/environment-variables/environment-variables/#nodes) for more information.
+Reading and writing binary files can have security implications. If you want to disable reading and writing binary data, use the `NODES_EXCLUDE` environment variable. Refer to [Environment variables | Nodes](/hosting/configuration/environment-variables/nodes/) for more information.
diff --git a/docs/embed/configuration.md b/docs/embed/configuration.md
index 4b0157f3e..5d2ad7b1e 100644
--- a/docs/embed/configuration.md
+++ b/docs/embed/configuration.md
@@ -77,7 +77,6 @@ There are many [environment variables configurable in n8n](https://docs.n8n.io/r
| Variable | Type | Default | Description |
| :------- | :--- | :------ | :---------- |
| `EXECUTIONS_TIMEOUT` | Number | `-1` | Sets a default timeout (in seconds) to all workflows after which n8n stops their execution. Users can override this for individual workflows up to the duration set in `EXECUTIONS_TIMEOUT_MAX`. Set `EXECUTIONS_TIMEOUT` to `-1` to disable. |
-| `EXECUTIONS_PROCESS` (**deprecated**) | Enum string: `main`, `own` | `main` | **Deprecated**. Whether n8n executions run in their own process or the main process.
Refer to [Execution modes and processes](/hosting/scaling/execution-modes-processes/) for more details. |
| `EXECUTIONS_DATA_PRUNE` | Boolean | `true` | Whether to delete data of past executions on a rolling basis. |
| `EXECUTIONS_DATA_MAX_AGE` | Number | `336` | The execution age (in hours) before it's deleted. |
| `EXECUTIONS_DATA_PRUNE_MAX_COUNT` | Number | `10000` | Maximum number of executions to keep in the database. 0 = no limit |
diff --git a/docs/enterprise-key.md b/docs/enterprise-key.md
index d216093ad..c67b2f17f 100644
--- a/docs/enterprise-key.md
+++ b/docs/enterprise-key.md
@@ -21,7 +21,7 @@ In your n8n instance:
In your n8n configuration, set `N8N_LICENSE_ACTIVATION_KEY` to your license key.
-Refer to [Environment variables](https://docs.n8n.io/hosting/environment-variables/) to learn more about configuring n8n.
+Refer to [Environment variables](/hosting/configuration/configuration-methods/) to learn more about configuring n8n.
## Allowlist the license server IP addresses
diff --git a/docs/external-secrets.md b/docs/external-secrets.md
index 7e0aa205f..bf5ba4e7c 100644
--- a/docs/external-secrets.md
+++ b/docs/external-secrets.md
@@ -8,7 +8,7 @@ contentType: howto
/// info | Feature availability
* External secrets are available on Enterprise Self-hosted and Enterprise Cloud plans.
-* n8n supports Infisical and HashiCorp Vault.
+* n8n supports AWS Secrets Manager, Infisical and HashiCorp Vault.
* n8n doesn't support [HashiCorp Vault Secrets](https://developer.hashicorp.com/hcp/docs/vault-secrets){:target=_blank .external-link}.
///
@@ -24,6 +24,26 @@ Your secret names can't contain spaces, hyphens, or other special characters. n8
1. In n8n, go to **Settings** > **External Secrets**.
1. Select **Set Up** for your store provider.
1. Enter the credentials for your provider:
+ * AWS Secrets Manager: provide your **access key ID**, **secret access key**, and **region**. The IAM user must have the `secretsmanager:ListSecrets` and `secretsmanager:BatchGetSecretValue` permissions.
+
+ Example policy:
+ ```json
+ {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Sid": "VisualEditor0",
+ "Effect": "Allow",
+ "Action": [
+ "secretsmanager:ListSecrets",
+ "secretsmanager:BatchGetSecretValue"
+ ],
+ "Resource": "*"
+ }
+ ]
+ }
+ ```
+
* HashiCorp Vault: provide the **Vault URL** for your vault instance, and select your **Authentication Method**. Enter your authentication details. Optionally provide a namespace.
- Refer to the HashiCorp documentation for your authentication method:
[Token auth method](https://developer.hashicorp.com/vault/docs/auth/token){:target=_blank .external-link}
@@ -57,7 +77,7 @@ To use a secret from your store in an n8n credential:
```js
{{ $secrets.. }}
```
- `` is either `vault` (for HashiCorp) or `infisical`. Replace `` with the name as it appears in your vault.
+ `` is either `vault` (for HashiCorp) or `infisical` or `awsSecretsManager`. Replace `` with the name as it appears in your vault.
## Use external secrets with n8n environments
@@ -70,3 +90,9 @@ For example, you have two n8n instances, one for development and one for product
### Infisical version changes
Infisical version upgrades can introduce problems connecting to n8n. If your Infisical connection stops working, check if there was a recent version change. If so, report the issue to help@n8n.io.
+
+### Only set external secrets on credentials owned by an instance owner or admin
+
+Due to the permissions that instance owners and admins have, it's possible for owners and admins to update credentials owned by another user with a secrets expression. This will appear to work in preview for an instance owner or admin, but the secret won't resolve when the workflow runs in production.
+
+Only use external secrets for credentials that are owned by an instance admin or owner. This ensures they resolve correctly in production.
diff --git a/docs/flow-logic/looping.md b/docs/flow-logic/looping.md
index e40c0e593..6ec608e64 100644
--- a/docs/flow-logic/looping.md
+++ b/docs/flow-logic/looping.md
@@ -74,5 +74,4 @@ Nodes and operations where you need to design a loop into your workflow:
* [Redis](/integrations/builtin/app-nodes/n8n-nodes-base.redis/):
* Info: this operation executes only once, regardless of the number of items in the incoming data.
* [RSS](/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/) nodes executes only once regardless of the number of items in the incoming data.
-* [Spreadsheet](/integrations/builtin/core-nodes/n8n-nodes-base.spreadsheetfile/) node processes all the incoming data and creates a single file with all the incoming data. If you want to create individual files for each incoming item, you have to create a loop.
* [TimescaleDB](/integrations/builtin/app-nodes/n8n-nodes-base.timescaledb/) node will execute and iterate over all incoming items only for Postgres related functions (for example, `pgInsert`, `pgUpdate`, `pqQuery`).
diff --git a/docs/contributing.md b/docs/help-community/contributing.md
similarity index 98%
rename from docs/contributing.md
rename to docs/help-community/contributing.md
index 11353a29f..a054ae9cc 100644
--- a/docs/contributing.md
+++ b/docs/help-community/contributing.md
@@ -35,7 +35,7 @@ The following video demonstrates the steps of sharing workflows on the community
## Build a node
-Create an integration for a third party service. Check out [the node creation docs](/integrations/creating-nodes/) for guidance on how to create and publish a community node.
+Create an integration for a third party service. Check out [the node creation docs](/integrations/creating-nodes/overview/) for guidance on how to create and publish a community node.
## Contribute to the code
diff --git a/docs/help-community/help.md b/docs/help-community/help.md
new file mode 100644
index 000000000..805dc18c2
--- /dev/null
+++ b/docs/help-community/help.md
@@ -0,0 +1,12 @@
+---
+description: How to get help and support with n8n.
+contentType: howto
+---
+
+# Get help with n8n
+
+If you need more help with n8n, you can ask for support in the [forum](https://community.n8n.io/){:target=_blank class=.external-link}. This is the best source of answers, as both the n8n support team and community members can help.
+
+If your Cloud instance is having issues, or if you're an enterprise customer who needs support, you can contact [help@n8n.io](mailto:help@n8n.io).
+
+
diff --git a/docs/hosting/architecture/database-structure.md b/docs/hosting/architecture/database-structure.md
index 4063807ff..f66f6417b 100644
--- a/docs/hosting/architecture/database-structure.md
+++ b/docs/hosting/architecture/database-structure.md
@@ -49,7 +49,7 @@ Stores [Custom executions data](/workflows/executions/custom-executions-data/).
### installed_nodes
-Lists the [community nodes](/integrations/community-nodes/) installed in your n8n instance.
+Lists the [community nodes](/integrations/community-nodes/installation/) installed in your n8n instance.
### installed_packages
diff --git a/docs/hosting/architecture/index.md b/docs/hosting/architecture/overview.md
similarity index 65%
rename from docs/hosting/architecture/index.md
rename to docs/hosting/architecture/overview.md
index 951ebdf04..32f96e618 100644
--- a/docs/hosting/architecture/index.md
+++ b/docs/hosting/architecture/overview.md
@@ -10,4 +10,4 @@ Understanding n8n's underlying architecture is helpful if you need to:
* Embed n8n
* Customize n8n's default databases
-This section is a work in progress. If you have questions, please try the [forum](https://community.n8n.io/) and let n8n know which architecture documents would be useful for you.
+This section is a work in progress. If you have questions, please try the [forum](https://community.n8n.io/){:target=_blank .external-link} and let n8n know which architecture documents would be useful for you.
diff --git a/docs/hosting/cli-commands.md b/docs/hosting/cli-commands.md
index 43722a5b5..41ab9e5cb 100644
--- a/docs/hosting/cli-commands.md
+++ b/docs/hosting/cli-commands.md
@@ -27,12 +27,6 @@ Execute a saved workflow by its ID:
n8n execute --id
```
-Execute a workflow from a workflow file:
-
-```bash
-n8n execute --file
-```
-
## Change the active status of a workflow
You can change the active status of a workflow using the CLI.
@@ -244,7 +238,7 @@ n8n ldap:reset
## Security audit
-You can run a [security audit](/hosting/security-audit/) on your n8n instance, to detect common security issues.
+You can run a [security audit](/hosting/logging-monitoring/security-audit/) on your n8n instance, to detect common security issues.
```sh
n8n audit
diff --git a/docs/hosting/configuration/configuration-examples/base-url.md b/docs/hosting/configuration/configuration-examples/base-url.md
new file mode 100644
index 000000000..527e3f08a
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/base-url.md
@@ -0,0 +1,18 @@
+---
+title: Configure the Base URL for n8n's front end access
+description: Configure the Base URL environment variable to define the front end's access path to the back end's REST API for n8n.
+contentType: howto
+---
+
+# Configure the Base URL for n8n's front end access
+
+/// warning | Requires manual UI build
+This use case involves configuring the `VUE_APP_URL_BASE_API` environmental variable which requires a manual build of the `n8n-editor-ui` package. You can't use it with the default n8n Docker image where the default setting for this variable is `/`, meaning that it uses the root-domain.
+///
+
+You can configure the Base URL that the front end uses to connect to the back end's REST API. This is relevant when you want to host n8n's front end and back end separately.
+
+```bash
+export VUE_APP_URL_BASE_API=https://n8n.example.com/
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/deployment/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-examples/custom-nodes-location.md b/docs/hosting/configuration/configuration-examples/custom-nodes-location.md
new file mode 100644
index 000000000..21550e22c
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/custom-nodes-location.md
@@ -0,0 +1,17 @@
+---
+title: Specify location for your custom nodes
+description: Add folders and specify paths for your custom nodes.
+contentType: howto
+---
+
+# Specify location for your custom nodes
+
+Every user can add custom nodes that get loaded by n8n on startup. The default
+location is in the subfolder `.n8n/custom` of the user who started n8n.
+
+You can define more folders with an environment variable:
+
+```bash
+export N8N_CUSTOM_EXTENSIONS="/home/jim/n8n/custom-nodes;/data/n8n/nodes"
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/nodes/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-examples/encryption-key.md b/docs/hosting/configuration/configuration-examples/encryption-key.md
new file mode 100644
index 000000000..310ed3139
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/encryption-key.md
@@ -0,0 +1,20 @@
+---
+title: Set a custom encryption key
+description: Set a custom encryption key for n8n to securely encrypt credentials.
+contentType: howto
+---
+
+# Set a custom encryption key
+
+n8n creates a random encryption key automatically on the first launch and saves
+it in the `~/.n8n` folder. n8n uses that key to encrypt the credentials before
+they get saved to the database. If the key isn't yet in the settings file,
+you can set it using an environment variable, so that n8n
+uses your custom key instead of generating a new one.
+
+In [queue mode](/hosting/scaling/queue-mode/), you must specify the encryption key environment variable for all workers.
+
+```bash
+export N8N_ENCRYPTION_KEY=
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/deployment/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-examples/execution-timeout.md b/docs/hosting/configuration/configuration-examples/execution-timeout.md
new file mode 100644
index 000000000..c897c0a61
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/execution-timeout.md
@@ -0,0 +1,22 @@
+---
+title: Configure workflow timeout settings
+description: Set execution timeouts to determine how long workflows can run.
+contentType: howto
+---
+
+# Configure workflow timeout settings
+
+A workflow times out and gets canceled after this time (in seconds). If the workflow runs in the main process, a soft timeout happens (takes effect after the current node finishes). If a workflow runs in its own process, n8n attempts a soft timeout first, then kills the process after waiting for a fifth of the given timeout duration.
+
+`EXECUTIONS_TIMEOUT` default is `-1`. For example, if you want to set the timeout to one hour:
+
+```bash
+export EXECUTIONS_TIMEOUT=3600
+```
+
+You can also set maximum execution time (in seconds) for each workflow individually. For example, if you want to set maximum execution time to two hours:
+
+```bash
+export EXECUTIONS_TIMEOUT_MAX=7200
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/executions/) for more information on these variables.
diff --git a/docs/hosting/configuration/configuration-examples/index.md b/docs/hosting/configuration/configuration-examples/index.md
new file mode 100644
index 000000000..b7b87d8eb
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/index.md
@@ -0,0 +1,13 @@
+---
+title: Configuration examples
+description: An overview containing different configuration examples.
+contentType: overview
+---
+
+# Configuration examples
+
+This section contains examples for how to configure n8n to solve particular use cases.
+
+[[% import "_macros/section-toc.html" as sectionToc %]]
+
+[[ sectionToc.sectionToc(page) ]]
diff --git a/docs/hosting/configuration/configuration-examples/isolation.md b/docs/hosting/configuration/configuration-examples/isolation.md
new file mode 100644
index 000000000..d08902a55
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/isolation.md
@@ -0,0 +1,27 @@
+---
+title: Isolate n8n
+description: Prevent your n8n instance from connecting with n8n's servers.
+contentType: howto
+---
+
+# Isolate n8n
+
+By default, a self-hosted n8n instance sends data to n8n's servers. It notifies users about available updates, workflow templates, and diagnostics.
+
+To prevent your n8n instance from connecting to n8n's servers, set these environment variables to false:
+
+```
+N8N_DIAGNOSTICS_ENABLED=false
+N8N_VERSION_NOTIFICATIONS_ENABLED=false
+N8N_TEMPLATES_ENABLED=false
+```
+
+Unset n8n's diagnostics configuration:
+
+```
+EXTERNAL_FRONTEND_HOOKS_URLS=
+N8N_DIAGNOSTICS_CONFIG_FRONTEND=
+N8N_DIAGNOSTICS_CONFIG_BACKEND=
+```
+
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/deployment/) for more information on these variables.
diff --git a/docs/hosting/configuration/configuration-examples/modules-in-code-node.md b/docs/hosting/configuration/configuration-examples/modules-in-code-node.md
new file mode 100644
index 000000000..23bf93ec9
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/modules-in-code-node.md
@@ -0,0 +1,27 @@
+---
+title: Enable modules in Code node
+description: Allow the use of both built-in and external modules within the Code node.
+contentType: howto
+---
+
+# Enable modules in Code node
+
+For security reasons, the Code node restricts importing modules. It's possible to lift that restriction for built-in and external modules by setting the following environment variables:
+
+- `NODE_FUNCTION_ALLOW_BUILTIN`: For built-in modules
+- `NODE_FUNCTION_ALLOW_EXTERNAL`: For external modules sourced from n8n/node_modules directory. External module support is disabled when an environment variable isn't set.
+
+```bash
+# Allows usage of all builtin modules
+export NODE_FUNCTION_ALLOW_BUILTIN=*
+
+# Allows usage of only crypto
+export NODE_FUNCTION_ALLOW_BUILTIN=crypto
+
+# Allows usage of only crypto and fs
+export NODE_FUNCTION_ALLOW_BUILTIN=crypto,fs
+
+# Allow usage of external npm modules.
+export NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/nodes/) for more information on these variables.
diff --git a/docs/hosting/configuration/configuration-examples/prometheus.md b/docs/hosting/configuration/configuration-examples/prometheus.md
new file mode 100644
index 000000000..c27c7a8c0
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/prometheus.md
@@ -0,0 +1,20 @@
+---
+title: Enable Prometheus metrics
+description: Enable Prometheus metrics endpoint.
+contentType: howto
+---
+
+# Enable Prometheus metrics
+
+/// note | Experimental
+Prometheus metrics are an experimental feature.
+///
+To collect and expose metrics, n8n uses the [prom-client](https://www.npmjs.com/package/prom-client){:target="_blank" .external-link} library.
+
+The `/metrics` endpoint is disabled by default, but it's possible to enable it using the `N8N_METRICS` environment variable.
+
+```bash
+export N8N_METRICS=true
+```
+
+Refer to the respective [Environment Variables](/hosting/configuration/environment-variables/endpoints/) (`N8N_METRICS_INCLUDE_*`) for configuring which metrics and labels should get exposed.
diff --git a/docs/hosting/configuration/configuration-examples/time-zone.md b/docs/hosting/configuration/configuration-examples/time-zone.md
new file mode 100644
index 000000000..29e03ddc2
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/time-zone.md
@@ -0,0 +1,17 @@
+---
+title: Set the self-hosted instance timezone
+description: Change the default timezone for your self-hosted n8n instance.
+contentType: howto
+---
+
+# Set the self-hosted instance timezone
+
+The default timezone is America/New_York. For instance, the Schedule node uses it to know at what time the workflow should start. To set a different default timezone, set `GENERIC_TIMEZONE` to the appropriate value. For example, if you want to set the timezone to Berlin (Germany):
+
+```bash
+export GENERIC_TIMEZONE=Europe/Berlin
+```
+
+You can find the name of your timezone [here](https://momentjs.com/timezone/){:target="_blank" .external-link}.
+
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/timezone-localization/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-examples/user-folder.md b/docs/hosting/configuration/configuration-examples/user-folder.md
new file mode 100644
index 000000000..a40bad91f
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/user-folder.md
@@ -0,0 +1,15 @@
+---
+title: Specify user folder path
+description: Specify location of the folder that stores user-specific data.
+contentType: howto
+---
+
+# Specify user folder path
+
+n8n saves user-specific data like the encryption key, SQLite database file, and
+the ID of the tunnel (if used) in the subfolder `.n8n` of the user who started n8n. It's possible to overwrite the user-folder using an environment variable.
+
+```bash
+export N8N_USER_FOLDER=/home/jim/n8n
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/deployment/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-examples/webhook-url.md b/docs/hosting/configuration/configuration-examples/webhook-url.md
new file mode 100644
index 000000000..0fcd87a85
--- /dev/null
+++ b/docs/hosting/configuration/configuration-examples/webhook-url.md
@@ -0,0 +1,14 @@
+---
+title: Configure webhook URLs with reverse proxy
+description: Customize n8n webhook URLs for compatibility with reverse proxy setups.
+contentType: howto
+---
+
+# Configure n8n webhooks with reverse proxy
+
+n8n creates the webhook URL by combining `N8N_PROTOCOL`, `N8N_HOST` and `N8N_PORT`. If n8n runs behind a reverse proxy, that won't work. That's because n8n runs internally on port 5678 but the reverse proxy exposes it to the web on port 443. In that case, it's important to set the webhook URL manually so that n8n can display it in the Editor UI and register the correct webhook URLs with external services.
+
+```bash
+export WEBHOOK_URL=https://n8n.example.com/
+```
+Refer to [Environment variables reference](/hosting/configuration/environment-variables/endpoints/) for more information on this variable.
diff --git a/docs/hosting/configuration/configuration-methods.md b/docs/hosting/configuration/configuration-methods.md
new file mode 100644
index 000000000..982ca9e03
--- /dev/null
+++ b/docs/hosting/configuration/configuration-methods.md
@@ -0,0 +1,116 @@
+---
+title: Configuration methods
+description: How to set environment variables for n8n.
+contentType: howto
+---
+
+# Configuration
+
+You can change n8n's settings using environment variables. For a full list of available configurations see [Environment Variables](/hosting/configuration/environment-variables/).
+
+## Set environment variables by command line
+
+### npm
+
+For npm, set your desired environment variables in terminal using the `export` command as shown below:
+
+```bash
+export =
+```
+
+### Docker
+
+In Docker you can use the `-e` flag from the command line:
+
+```bash
+docker run -it --rm \
+ --name n8n \
+ -p 5678:5678 \
+ -e N8N_TEMPLATES_ENABLED="false" \
+ docker.n8n.io/n8nio/n8n
+```
+
+## Set environment variables using a file
+
+You can also configure n8n using a configuration file.
+
+Only define the values that need to be different from the default in your configuration file. You can use multiple files. For example, you can have a file with generic base settings, and files with specific values for different environments.
+
+### npm
+
+Set the path to the JSON configuration file using the environment variable `N8N_CONFIG_FILES`:
+
+```shell
+# Bash - Single file
+export N8N_CONFIG_FILES=//my-config.json
+# Bash - Multiple files are comma-separated
+export N8N_CONFIG_FILES=//my-config.json,//production.json
+
+# PowerShell - Single file, persist for current user
+# Note that setting scope (Process, User, Machine) has no effect on Unix systems
+[Environment]::SetEnvironmentVariable('N8N_CONFIG_FILES', '\config.json', 'User')
+```
+
+Example file:
+
+```json
+{
+ "executions": {
+ "saveDataOnSuccess": "none"
+ },
+ "generic": {
+ "timezone": "Europe/Berlin"
+ },
+ "nodes": {
+ "exclude": "[\"n8n-nodes-base.executeCommand\",\"n8n-nodes-base.writeBinaryFile\"]"
+ }
+}
+```
+
+/// note | Formatting as JSON
+You can't always work out the correct JSON from the [Environment variables reference](/hosting/configuration/environment-variables/). For example, to set `N8N_METRICS` to `true`, you need to do:
+
+```json
+{
+ "endpoints": {
+ "metrics": {
+ "enable": true
+ }
+ }
+}
+```
+
+Refer to the [Schema file in the source code](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/config/schema.ts){:target=_blank .external-link} for full details of the expected settings.
+///
+
+
+### Docker
+
+In Docker, you can set your environment variables in the `n8n: environment:` element of your `docker-compose.yaml` file.
+
+For example:
+
+```yaml
+n8n:
+ environment:
+ - N8N_TEMPLATES_ENABLED=false
+```
+
+### Keeping sensitive data in separate files
+
+You can append `_FILE` to some individual environment variables to provide their configuration in a separate file, enabling you to avoid passing sensitive details using environment variables. n8n loads the data from the file with the given name, making it possible to load data from Docker-Secrets and Kubernetes-Secrets.
+
+The following environment variables support file input:
+
+- `CREDENTIALS_OVERWRITE_DATA_FILE`
+- `DB_TYPE_FILE`
+- `DB_POSTGRESDB_DATABASE_FILE`
+- `DB_POSTGRESDB_HOST_FILE`
+- `DB_POSTGRESDB_PASSWORD_FILE`
+- `DB_POSTGRESDB_PORT_FILE`
+- `DB_POSTGRESDB_SSL_CA_FILE`
+- `DB_POSTGRESDB_SSL_CERT_FILE`
+- `DB_POSTGRESDB_SSL_KEY_FILE`
+- `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED_FILE`
+- `DB_POSTGRESDB_USER_FILE`
+- `DB_POSTGRESDB_SCHEMA_FILE`
\ No newline at end of file
diff --git a/docs/hosting/configuration/environment-variables/binary-data.md b/docs/hosting/configuration/environment-variables/binary-data.md
new file mode 100644
index 000000000..25f6c779f
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/binary-data.md
@@ -0,0 +1,20 @@
+---
+title: Binary data environment variables
+description: Customize binary data storage modes and paths with environment variables for your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Binary data environment variables
+
+By default, n8n uses memory to store binary data. Enterprise users can choose to use an external service instead. Refer to [External storage](/hosting/scaling/external-storage/) for more information on using external storage for binary data.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_AVAILABLE_BINARY_DATA_MODES` | String | `filesystem` | A comma separated list of available binary data modes. |
+| `N8N_BINARY_DATA_STORAGE_PATH` | String | `N8N_USE_FOLDER/binaryData` | The path where n8n stores binary data. |
+| `N8N_DEFAULT_BINARY_DATA_MODE` | String | `default` | The default binary data mode. `default` keeps binary data in memory. Set to `filesystem` to use the filesystem, or `s3` to AWS S3. |
diff --git a/docs/hosting/configuration/environment-variables/credentials.md b/docs/hosting/configuration/environment-variables/credentials.md
new file mode 100644
index 000000000..8faca337e
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/credentials.md
@@ -0,0 +1,20 @@
+---
+title: Credentials environment variables
+description: Manage default credentials and override them through environment variables your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Credentials environment variables
+
+Enable credential overwrites using the following environment variables. Refer to [Credential overwrites](/embed/configuration/#credential-overwrites/) for details.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `CREDENTIALS_OVERWRITE_DATA` /`_FILE` | * | - | Overwrites for credentials. |
+| `CREDENTIALS_OVERWRITE_ENDPOINT` | String | - | The API endpoint to fetch credentials. |
+| `CREDENTIALS_DEFAULT_NAME` | String | `My credentials` | The default name for credentials. |
diff --git a/docs/hosting/configuration/environment-variables/database.md b/docs/hosting/configuration/environment-variables/database.md
new file mode 100644
index 000000000..93f2c6472
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/database.md
@@ -0,0 +1,42 @@
+---
+title: Database environment variables
+description: Set up and configure databases with environment variables for your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Database environment variables
+
+By default, n8n uses SQLite. n8n also supports PostgreSQL. n8n [removed support for MySQL and MariaDB](/1-0-migration-checklist/#mysql-and-mariadb) in v1.0.
+
+This page outlines environment variables to configure your chosen database for your self-hosted n8n instance.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `DB_TYPE` /`_FILE` | Enum string: `sqlite`, `postgresdb` | `sqlite` | The database to use. |
+| `DB_TABLE_PREFIX` | * | - | Prefix to use for table names. |
+
+## PostgreSQL
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `DB_POSTGRESDB_DATABASE` /`_FILE` | String | `n8n` | The name of the PostgreSQL database. Default value is `n8n`. |
+| `DB_POSTGRESDB_HOST` /`_FILE` | String | `localhost` | The PostgreSQL host. Default value is `localhost`. |
+| `DB_POSTGRESDB_PORT` /`_FILE` | Number | `5432` | The PostgreSQL port. Default value is `5432`. |
+| `DB_POSTGRESDB_USER` /`_FILE` | String | `root` | The PostgreSQL user. Default value is `root`. |
+| `DB_POSTGRESDB_PASSWORD` /`_FILE` | String | - | The PostgreSQL password. |
+| `DB_POSTGRESDB_SCHEMA` /`_FILE` | String | `public` | The PostgreSQL schema. Default value is `public`. |
+| `DB_POSTGRESDB_SSL_CA` /`_FILE` | String | - | The PostgreSQL SSL certificate authority. |
+| `DB_POSTGRESDB_SSL_CERT` /`_FILE` | String | - | The PostgreSQL SSL certificate. |
+| `DB_POSTGRESDB_SSL_KEY` /`_FILE` | String | - | The PostgreSQL SSL key. |
+| `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED` /`_FILE` | Boolean | `true` | If n8n should reject unauthorized SSL connections (true) or not (false). |
+
+## SQLite
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `DB_SQLITE_VACUUM_ON_STARTUP` | Boolean | `false` | Runs [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target="_blank" .external-link} operation on startup to rebuild the database. Reduces file size and optimizes indexes. This is a long running blocking operation and increases start-up time. |
diff --git a/docs/hosting/configuration/environment-variables/deployment.md b/docs/hosting/configuration/environment-variables/deployment.md
new file mode 100644
index 000000000..0b650865b
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/deployment.md
@@ -0,0 +1,45 @@
+---
+title: Deployment environment variables
+description: Configure deployment options and application accessibility with environment variables for your self-hosted n8n intance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Deployment environment variables
+
+This page lists the deployment configuration options for your self-hosted n8n instance, including setting up access URLs, enabling templates, customizing encryption, and configuring server details.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_EDITOR_BASE_URL` | String | - | Public URL where users can access the editor. Also used for emails sent from n8n. |
+| `N8N_CONFIG_FILES` | String | - | Use to provide the path to any JSON [configuration file](/hosting/configuration/configuration-methods/). |
+| `N8N_DISABLE_UI` | Boolean | `false` | Disable the UI (true) or not (false). |
+| `N8N_TEMPLATES_ENABLED` | Boolean | `true` | Enable workflow templates (true) or disable (false). |
+| `N8N_TEMPLATES_HOST` | String | `https://api.n8n.io` | Change this if creating your own workflow template library. Note that to use your own workflow templates library, your API must provide the same endpoints and response structure as n8n's. Refer to [Workflow templates](/workflows/templates/) for more information. |
+| `N8N_ENCRYPTION_KEY` | String | Random key generated by n8n | Provide a custom key used to encrypt credentials in the n8n database. By default n8n generates a random key on first launch. |
+| `N8N_USER_FOLDER` | String | `user-folder` | Provide the path where n8n will create the `.n8n` folder. This directory stores user-specific data, such as database file and encryption key. |
+| `N8N_PATH` | String | `/` | The path n8n deploys to. |
+| `N8N_HOST` | String | `localhost` | Host name n8n runs on. |
+| `N8N_PORT` | Number | `5678` | The HTTP port n8n runs on. |
+| `N8N_LISTEN_ADDRESS` | String | `0.0.0.0` | The IP address n8n should listen on. |
+| `N8N_PROTOCOL` | Enum string: `http`, `https` | `http` | The protocol used to reach n8n. |
+| `N8N_SSL_KEY` | String | - | The SSL key for HTTPS protocol. |
+| `N8N_SSL_CERT` | String | - | The SSL certificate for HTTPS protocol. |
+| `N8N_PERSONALIZATION_ENABLED` | Boolean | `true` | Whether to ask users personalisation questions and then customise n8n accordingly. |
+| `N8N_VERSION_NOTIFICATIONS_ENABLED` | Boolean | `true` | When enabled, n8n sends notifications of new versions and security updates. |
+| `N8N_VERSION_NOTIFICATIONS_ENDPOINT` | String | `https://api.n8n.io/versions/` | The endpoint to retrieve where version information. |
+| `N8N_VERSION_NOTIFICATIONS_INFO_URL` | String | `https://docs.n8n.io/getting-started/installation/updating.html` | The URL displayed in the New Versions panel for additional information. |
+| `N8N_DIAGNOSTICS_ENABLED` | Boolean | `true` | Whether to share selected, anonymous [telemetry](/privacy-security/privacy/) with n8n |
+| `N8N_DIAGNOSTICS_CONFIG_FRONTEND` | String | `1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io` | Telemetry configuration for the frontend. |
+| `N8N_DIAGNOSTICS_CONFIG_BACKEND` | String | `1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch` | Telemetry configuration for the backend. |
+| `N8N_PUSH_BACKEND` | String | `websocket` | Choose whether the n8n backend uses server-sent events (`sse`) or WebSockets (`websocket`) to send changes to the UI. |
+| `VUE_APP_URL_BASE_API` | String | `http://localhost:5678/` | Used when building the `n8n-editor-ui` package manually to set how the frontend can reach the backend API. |
+| `N8N_HIRING_BANNER_ENABLED` | Boolean | `true` | Whether to show the n8n hiring banner in the console (true) or not (false). |
+| `N8N_PUBLIC_API_SWAGGERUI_DISABLED` | Boolean | `false` | Whether the Swagger UI (API playground) is disabled (true) or not (false). |
+| `N8N_PUBLIC_API_DISABLED` | Boolean | `false` | Whether to disable the public API (false) or not (true). |
+| `N8N_PUBLIC_API_ENDPOINT` | String | `api` | Path for the public API endpoints. |
+| `N8N_GRACEFUL_SHUTDOWN_TIMEOUT` | Number | `30` | How long should the n8n process wait (in seconds) for components to shut down before exiting the process. |
diff --git a/docs/hosting/configuration/environment-variables/endpoints.md b/docs/hosting/configuration/environment-variables/endpoints.md
new file mode 100644
index 000000000..8f90b808f
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/endpoints.md
@@ -0,0 +1,36 @@
+---
+title: Endpoints environment variables
+description: Customize the application's API and webhook endpoints with environment variables for your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Endpoints environment variables
+
+This page lists environment variables for customizing endpoints in n8n.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_PAYLOAD_SIZE_MAX` | Number | `16` | The maximum payload size in MB. |
+| `N8N_METRICS` | Boolean | `false` | Whether to enable the `/metrics` endpoint. |
+| `N8N_METRICS_PREFIX` | String | `n8n_` | Optional prefix for n8n specific metrics names. |
+| `N8N_METRICS_INCLUDE_DEFAULT_METRICS` | Boolean | `true` | Whether to expose default system and node.js metrics. |
+| `N8N_METRICS_INCLUDE_CACHE_METRICS` | Boolean | false | Whether to include metrics (true) for cache hits and misses, or not include them (false). |
+| `N8N_METRICS_INCLUDE_MESSAGE_EVENT_BUS_METRICS` | Boolean | `false` | Whether to include metrics (true) for events, or not include them (false). |
+| `N8N_METRICS_INCLUDE_WORKFLOW_ID_LABEL` | Boolean | `false` | Whether to include a label for the workflow ID on workflow metrics. |
+| `N8N_METRICS_INCLUDE_NODE_TYPE_LABEL` | Boolean | `false` | Whether to include a label for the node type on node metrics. |
+| `N8N_METRICS_INCLUDE_CREDENTIAL_TYPE_LABEL` | Boolean | `false` | Whether to include a label for the credential type on credential metrics. |
+| `N8N_METRICS_INCLUDE_API_ENDPOINTS` | Boolean | `false` | Whether to expose metrics for API endpoints. |
+| `N8N_METRICS_INCLUDE_API_PATH_LABEL` | Boolean | `false` | Whether to include a label for the path of API invocations. |
+| `N8N_METRICS_INCLUDE_API_METHOD_LABEL` | Boolean | `false` | Whether to include a label for the HTTP method (GET, POST, ...) of API invocations. |
+| `N8N_METRICS_INCLUDE_API_STATUS_CODE_LABEL` | Boolean | `false` | Whether to include a label for the HTTP status code (200, 404, ...) of API invocations. |
+| `N8N_ENDPOINT_REST` | String | `rest` | The path used for REST endpoint. |
+| `N8N_ENDPOINT_WEBHOOK` | String | `webhook` | The path used for webhook endpoint. |
+| `N8N_ENDPOINT_WEBHOOK_TEST` | String | `webhook-test` | The path used for test-webhook endpoint. |
+| `N8N_ENDPOINT_WEBHOOK_WAIT` | String | `webhook-waiting` | The path used for waiting-webhook endpoint. |
+| `WEBHOOK_URL` | String | - | Used to manually provide the Webhook URL when running n8n behind a reverse proxy. See [here](/hosting/configuration/configuration-examples/webhook-url/) for more details. |
+| `N8N_DISABLE_PRODUCTION_MAIN_PROCESS` | Boolean | `false` | Disable production webhooks from main process. This helps ensure no HTTP traffic load to main process when using webhook-specific processes. |
diff --git a/docs/hosting/configuration/environment-variables/executions.md b/docs/hosting/configuration/environment-variables/executions.md
new file mode 100644
index 000000000..7d6d21d2b
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/executions.md
@@ -0,0 +1,30 @@
+---
+title: Executions environment variables
+description: Environment variables to configure settings related to workflow executions.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Executions environment variables
+
+This page lists environment variables to configure workflow execution settings.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `EXECUTIONS_MODE` | Enum string: `regular`, `queue` | `regular` | Whether executions should run directly or using queue.
Refer to [Queue mode](/hosting/scaling/queue-mode/) for more details. |
+| `EXECUTIONS_TIMEOUT` | Number | `-1` | Sets a default timeout (in seconds) to all workflows after which n8n stops their execution. Users can override this for individual workflows up to the duration set in `EXECUTIONS_TIMEOUT_MAX`. Set `EXECUTIONS_TIMEOUT` to `-1` to disable. |
+| `EXECUTIONS_TIMEOUT_MAX` | Number | `3600` | The maximum execution time (in seconds) that users can set for an individual workflow. |
+| `EXECUTIONS_DATA_SAVE_ON_ERROR` | Enum string: `all`, `none` | `all` | Whether n8n saves execution data on error. |
+| `EXECUTIONS_DATA_SAVE_ON_SUCCESS` | Enum string: `all`, `none` | `all` | Whether n8n saves execution data on success. |
+| `EXECUTIONS_DATA_SAVE_ON_PROGRESS` | Boolean | `false` | Whether to save progress for each node executed (true) or not (false). |
+| `EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS` | Boolean | `true` | Whether to save data of executions when started manually. |
+| `EXECUTIONS_DATA_PRUNE` | Boolean | `true` | Whether to delete data of past executions on a rolling basis. |
+| `EXECUTIONS_DATA_MAX_AGE` | Number | `336` | The execution age (in hours) before it's deleted. |
+| `EXECUTIONS_DATA_PRUNE_MAX_COUNT` | Number | `10000` | Maximum number of executions to keep in the database. 0 = no limit |
+| `EXECUTIONS_DATA_HARD_DELETE_BUFFER` | Number | `1` | How old (hours) the finished execution data has to be to get hard-deleted. By default, this buffer excludes recent executions as the user may need them while building a workflow. |
+| `EXECUTIONS_DATA_PRUNE_HARD_DELETE_INTERVAL` | Number | `15` | How often (minutes) execution data should be hard-deleted. |
+| `EXECUTIONS_DATA_PRUNE_SOFT_DELETE_INTERVAL` | Number | `60` | How often (minutes) execution data should be soft-deleted. |
diff --git a/docs/hosting/configuration/environment-variables/external-data-storage.md b/docs/hosting/configuration/environment-variables/external-data-storage.md
new file mode 100644
index 000000000..cb303dc91
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/external-data-storage.md
@@ -0,0 +1,22 @@
+---
+title: External data storage environment variables
+description: Environment variables to configure external data storage for your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# External data storage environment variables
+
+Refer to [External storage](/hosting/scaling/external-storage/) for more information on using external storage for binary data.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_EXTERNAL_STORAGE_S3_HOST` | String | - | Host of the n8n bucket in S3-compatible external storage. For example, `s3.us-east-1.amazonaws.com` |
+| `N8N_EXTERNAL_STORAGE_S3_BUCKET_NAME` | String | - | Name of the n8n bucket in S3-compatible external storage. |
+| `N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION` | String | - | Region of the n8n bucket in S3-compatible external storage. For example, `us-east-1`|
+| `N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY` | String | - | Access key in S3-compatible external storage |
+| `N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET` | String | - | Access secret in S3-compatible external storage. |
diff --git a/docs/hosting/configuration/environment-variables/external-hooks.md b/docs/hosting/configuration/environment-variables/external-hooks.md
new file mode 100644
index 000000000..1b107db08
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/external-hooks.md
@@ -0,0 +1,18 @@
+---
+title: External hooks environment variables
+description: Environment variables to integrate external hooks into your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# External hooks environment variables
+
+You can define external hooks that n8n executes whenever a specific operation runs. Refer to [Backend hooks](/embed/configuration/#backend-hooks) for examples of available hooks and [Hook files](/embed/configuration/#hook-files_1) for information on file formatting.
+
+| Variable | Type | Description |
+| :------- | :---- | :---------- |
+| `EXTERNAL_HOOK_FILES` | String | Files containing external hooks. Provide multiple files as a colon-separated list ("`:`"). |
diff --git a/docs/hosting/configuration/environment-variables/external-secrets.md b/docs/hosting/configuration/environment-variables/external-secrets.md
new file mode 100644
index 000000000..b309012b1
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/external-secrets.md
@@ -0,0 +1,18 @@
+---
+title: External secrets environment variables
+description: Configure the interval for checking updates to external secrets in self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# External secrets environment variables
+
+You can use an external secrets store to manage credentials for n8n. Refer to [External secrets](/external-secrets/) for details.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_EXTERNAL_SECRETS_UPDATE_INTERVAL` | Number | `300` (5 minutes) | How often (in seconds) to check for secret updates. |
diff --git a/docs/hosting/configuration/environment-variables/index.md b/docs/hosting/configuration/environment-variables/index.md
new file mode 100644
index 000000000..a711bee38
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/index.md
@@ -0,0 +1,22 @@
+---
+title: Environment Variables Overview
+description: An overview of configuration environment variables for self-hosted n8n.
+contentType: overview
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Environment variables overview
+
+This section lists of environment variables that you can use to change n8n's configuration settings when self-hosting n8n.
+
+/// note | File-based configuration
+You can provide a [configuration file](/hosting/configuration/configuration-methods/) for n8n. You can also append `_FILE` to certain variables to provide their configuration in a separate file. Variables that support this have the "/`_FILE`" option listed below.
+///
+
+[[% import "_macros/section-toc.html" as sectionToc %]]
+
+[[ sectionToc.sectionToc(page) ]]
diff --git a/docs/hosting/configuration/environment-variables/licenses.md b/docs/hosting/configuration/environment-variables/licenses.md
new file mode 100644
index 000000000..a7e68ccb5
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/licenses.md
@@ -0,0 +1,22 @@
+---
+title: License environment variables
+description: Environment variables to configure license settings in n8n, including options to hide the usage page, manage license activation and auto-renewal settings, and specify the server URL for license retrieval.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# License environment variables
+
+To enable enterprise features, you need to add your enterprise license key. You can do this through the UI, or using environment variables. Refer to [Enterprise license key](/enterprise-key/) for details.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_HIDE_USAGE_PAGE` | boolean | `false` | Hide the usage and plans page in the app. |
+| `N8N_LICENSE_ACTIVATION_KEY` | String | `''` | Activation key to initialize license. Not applicable if the n8n instance was already activated. |
+| `N8N_LICENSE_AUTO_RENEW_ENABLED` | Boolean | `true` | Enables (true) or disables (false) autorenewal for licenses. |
+| `N8N_LICENSE_AUTO_RENEW_OFFSET` | Number | `60 * 60 * 72` (72 hours) | Time in seconds before expiry a license should automatically renew. |
+| `N8N_LICENSE_SERVER_URL` | String | `http://license.n8n.io/v1` | Server URL to retrieve license. |
diff --git a/docs/hosting/configuration/environment-variables/logs.md b/docs/hosting/configuration/environment-variables/logs.md
new file mode 100644
index 000000000..a215a6096
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/logs.md
@@ -0,0 +1,40 @@
+---
+title: Logs environment variables
+description: Environment variables to configure logging and diagnostic data.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Logs environment variables
+
+This page lists environment variables to set up logging for debugging. Refer to [Logging in n8n](/hosting/logging-monitoring/logging/) for details.
+
+## n8n logs
+
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_LOG_LEVEL` | Enum string: `info`, `warn`, `error`, `verbose`, `debug` | `info` | Log output level. |
+| `N8N_LOG_OUTPUT` | Enum string: `console`, `file` | `console` | Where to output logs. Provide multiple values as a comma-seperated list. |
+| `N8N_LOG_FILE_COUNT_MAX` | Number | `100` | Max number of log files to keep. |
+| `N8N_LOG_FILE_SIZE_MAX` | Number | `16` | Max size of each log file in MB. |
+| `N8N_LOG_FILE_LOCATION` | String | `file` | Log file location. Requires N8N_LOG_OUTPUT set to `file`. |
+| `DB_LOGGING_ENABLED` | Boolean | `false` | Whether to enable database-specific logging. |
+| `DB_LOGGING_OPTIONS` | Enum string: `query`, `error`, `schema`, `warn`, `info`, `log` | `error` | Database log output level. To enable all logging, specify `all`. |
+| `DB_LOGGING_MAX_EXECUTION_TIME` | Number | `1000` | Maximum execution time (in milliseconds) before n8n logs a warning. Set to `0` to disable long running query warning. |
+
+## Log streaming
+
+Refer to [Log streaming](/log-streaming/) for more information on this feature.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_EVENTBUS_CHECKUNSENTINTERVAL` | Number | `0` | How often (in milliseconds) to check for unsent event messages. Can in rare cases send message twice. Set to `0` to disable it. |
+| `N8N_EVENTBUS_LOGWRITER_SYNCFILEACCESS` | Boolean | `false` | Whether all file access happens synchronously within the thread (true) or not (false). |
+| `N8N_EVENTBUS_LOGWRITER_KEEPLOGCOUNT` | Number | `3` | Number of event log files to keep. |
+| `N8N_EVENTBUS_LOGWRITER_MAXFILESIZEINKB` | Number | `10240` | Maximum size (in kilo-bytes) of an event log file before a new one starts. |
+| `N8N_EVENTBUS_LOGWRITER_LOGBASENAME` | String | `n8nEventLog` | Basename of the event log file. |
diff --git a/docs/hosting/configuration/environment-variables/nodes.md b/docs/hosting/configuration/environment-variables/nodes.md
new file mode 100644
index 000000000..5a2fa5ef2
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/nodes.md
@@ -0,0 +1,24 @@
+---
+title: Nodes environment variables
+description: Environment variable to configure nodes management in self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Nodes environment variables
+
+This page lists the environment variables configuration options for managing nodes in n8n, including specifying which nodes to load or exclude, importing built-in or external modules in the Code node, and enabling community nodes.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `NODES_INCLUDE` | Array of strings | - | Specify which nodes to load. |
+| `NODES_EXCLUDE` | Array of strings | - | Specify which nodes not to load. For example, to block nodes that can be a security risk if users aren't trustworthy: `NODES_EXCLUDE: "[\"n8n-nodes-base.executeCommand\", \"n8n-nodes-base.filesreadwrite\"]"` |
+| `NODE_FUNCTION_ALLOW_BUILTIN` | String | - | Permit users to import specific built-in modules in the Code node. Use * to allow all. n8n disables importing modules by default. |
+| `NODE_FUNCTION_ALLOW_EXTERNAL` | String | - | Permit users to import specific external modules (from `n8n/node_modules`) in the Code node. n8n disables importing modules by default. |
+| `NODES_ERROR_TRIGGER_TYPE` | String | `n8n-nodes-base.errorTrigger` | Specify which node type to use as Error Trigger. |
+| `N8N_CUSTOM_EXTENSIONS` | String | - | Specify the path to directories containing your custom nodes. |
+| `N8N_COMMUNITY_PACKAGES_ENABLED` | Boolean | `true` | Enables (true) or disables (false) community nodes. |
diff --git a/docs/hosting/configuration/environment-variables/queue-mode.md b/docs/hosting/configuration/environment-variables/queue-mode.md
new file mode 100644
index 000000000..aee04a17e
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/queue-mode.md
@@ -0,0 +1,44 @@
+---
+title: Queue mode environment variables
+description: Environment variables to configure queue mode on your self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Queue mode environment variables
+
+You can run n8n in different modes depending on your needs. Queue mode provides the best scalability. Refer to [Queue mode](/hosting/scaling/queue-mode/) for more information.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `QUEUE_BULL_PREFIX` | String | - | Prefix to use for all queue keys. |
+| `QUEUE_BULL_REDIS_DB` | Number | `0` | The Redis database used. |
+| `QUEUE_BULL_REDIS_HOST` | String | `localhost` | The Redis host. |
+| `QUEUE_BULL_REDIS_PORT` | Number | `6379` | The Redis port used. |
+| `QUEUE_BULL_REDIS_USERNAME` | String | - | The Redis username (needs Redis version 6 or above). Don't define it for Redis < 6 compatibility |
+| `QUEUE_BULL_REDIS_PASSWORD` | String | - | The Redis password. |
+| `QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD` | Number | `10000` | The Redis timeout threshold (in seconds). |
+| `QUEUE_BULL_REDIS_CLUSTER_NODES` | String | - | Expects a comma-separated list of Redis Cluster nodes in the format `host:port`, for the Redis client to initially connect to. If running in queue mode (`EXECUTIONS_MODE = queue`), setting this variable will create a Redis Cluster client instead of a Redis client, and n8n will ignore `QUEUE_BULL_REDIS_HOST` and `QUEUE_BULL_REDIS_PORT`. |
+| `QUEUE_BULL_REDIS_TLS` | Boolean | `false` | Enable TLS on Redis connections. |
+| `QUEUE_RECOVERY_INTERVAL` | Number | `60` | Interval (in seconds) for active polling to the queue to recover from Redis crashes. `0` disables recovery. May increase Redis traffic. |
+| `QUEUE_WORKER_TIMEOUT` (**deprecated**) | Number | `30` | **Deprecated** Use `N8N_GRACEFUL_SHUTDOWN_TIMEOUT` instead.
How long should n8n wait (seconds) for running executions before exiting worker process on shutdown. |
+| `QUEUE_HEALTH_CHECK_ACTIVE` | Boolean | `false` | Whether to enable health checks (true) or disable (false). |
+| `QUEUE_HEALTH_CHECK_PORT` | Number | - | The port to serve health checks on. |
+| `QUEUE_WORKER_LOCK_DURATION` | Number | `30000` | How long (in ms) is the lease period for a worker to work on a message. |
+| `QUEUE_WORKER_LOCK_RENEW_TIME` | Number | `15000` | How frequently (in ms) should a worker renew the lease time. |
+| `QUEUE_WORKER_STALLED_INTERVAL` | Number | `30000` | How often should a worker check for stalled jobs (use 0 for never). |
+| `QUEUE_WORKER_MAX_STALLED_COUNT` | Number | `1` | Maximum amount of times a stalled job will be re-processed. |
+
+## Multi-main setup
+
+Refer to [Configuring multi-main setup](/hosting/scaling/queue-mode/#configuring-multi-main-setup) for details.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_MULTI_MAIN_SETUP_ENABLED` | Boolean | `false` | Whether to enable multi-main setup for queue mode (license required). |
+| `N8N_MULTI_MAIN_SETUP_KEY_TTL` | Number | `10` | Time to live (in seconds) for leader key in multi-main setup. |
+| `N8N_MULTI_MAIN_SETUP_CHECK_INTERVAL` | Number | `3` | Interval (in seconds) for leader check in multi-main setup. |
diff --git a/docs/hosting/configuration/environment-variables/security.md b/docs/hosting/configuration/environment-variables/security.md
new file mode 100644
index 000000000..e5c3b55fc
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/security.md
@@ -0,0 +1,16 @@
+---
+title: Security environment variables
+description: Configure authentication and environment variable access in self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Security environment variables
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_BLOCK_ENV_ACCESS_IN_NODE` | Boolean | `false` | Whether to allow users to access environment variables in expressions and the Code node (false) or not (true). |
diff --git a/docs/hosting/configuration/environment-variables/source-control.md b/docs/hosting/configuration/environment-variables/source-control.md
new file mode 100644
index 000000000..f3c13ccee
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/source-control.md
@@ -0,0 +1,18 @@
+---
+title: Source control environment variables
+description: Environment variable to set the default SSH key type for source control setup.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Source control environment variables
+
+n8n uses Git-based source control to support environments. Refer to [Source control and environments](/source-control-environments/setup/) for more information on how to link a Git repository to an n8n instance and configure your source control.
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` | String | `ed25519` | Set to `rsa` to make RSA the default SSH key type for [Source control setup](/source-control-environments/setup/). |
diff --git a/docs/hosting/configuration/environment-variables/timezone-localization.md b/docs/hosting/configuration/environment-variables/timezone-localization.md
new file mode 100644
index 000000000..4c0154214
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/timezone-localization.md
@@ -0,0 +1,17 @@
+---
+title: Timezone and localization environment variables
+description: Set the timezone and default language locale for self-hosted n8n instance.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Timezone and localization environment variables
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `GENERIC_TIMEZONE` | * | `America/New_York` |The n8n instance timezone. Important for schedule nodes (such as Cron). |
+| `N8N_DEFAULT_LOCALE` | String | `en` | A locale identifier, compatible with the [Accept-Language header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language){:target="_blank" .external-link}. n8n doesn't support regional identifiers, such as `de-AT`. When running in a locale other than the default, n8n displays UI strings in the selected locale, and falls back to `en` for any untranslated strings. |
diff --git a/docs/hosting/configuration/environment-variables/user-management-smtp-2fa.md b/docs/hosting/configuration/environment-variables/user-management-smtp-2fa.md
new file mode 100644
index 000000000..01dccaafb
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/user-management-smtp-2fa.md
@@ -0,0 +1,35 @@
+---
+title: User management SMTP, and two-factor authentication environment variables
+description: Environment variables to set up user management and emails.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# User management SMTP, and two-factor authentication environment variables
+
+Refer to [User management](/hosting/configuration/user-management-self-hosted/) for more information on setting up user management and emails.
+
+| Variable | Type | Default | Description |
+| :------- | :--- | :------ | :---------- |
+| `N8N_EMAIL_MODE` | String | `smtp` | Enable emails. |
+| `N8N_SMTP_HOST` | String | - | _your_SMTP_server_name_ |
+| `N8N_SMTP_PORT` | Number | - | _your_SMTP_server_port_ |
+| `N8N_SMTP_USER` | String | - | _your_SMTP_username_ |
+| `N8N_SMTP_PASS` | String | - | _your_SMTP_password_ |
+| `N8N_SMTP_OAUTH_SERVICE_CLIENT` | String | - | If using 2LO with a service account this is your client ID |
+| `N8N_SMTP_OAUTH_PRIVATE_KEY` | String | - | If using 2LO with a service account this is your private key |
+| `N8N_SMTP_SENDER` | String | - | Sender email address. You can optionally include the sender name. Example with name: _N8N ``_ |
+| `N8N_SMTP_SSL` | Boolean | `true` | Whether to use SSL for SMTP (true) or not (false). |
+| `N8N_UM_EMAIL_TEMPLATES_INVITE` | String | - | Full path to your HTML email template. This overrides the default template for invite emails. |
+| `N8N_UM_EMAIL_TEMPLATES_PWRESET` | String | - | Full path to your HTML email template. This overrides the default template for password reset emails. |
+| `N8N_UM_EMAIL_TEMPLATES_WORKFLOW_SHARED` | String | - | Overrides the default HTML template for notifying users that a workflow was shared. Provide the full path to the template. |
+| `N8N_UM_EMAIL_TEMPLATES_CREDENTIALS_SHARED` | String | - | Overrides the default HTML template for notifying users that a credential was shared. Provide the full path to the template. |
+| `N8N_USER_MANAGEMENT_JWT_SECRET` | String | - | Set a specific JWT secret. By default, n8n generates one on start. |
+| `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS` | Number | 168 | Set an expiration date for the JWTs in hours. |
+| `N8N_USER_MANAGEMENT_JWT_REFRESH_TIMEOUT_HOURS` | Number | 0 | How many hours before the JWT expires to automatically refresh it. 0 means 25% of `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS`. -1 means it will never refresh, which forces users to log in again after the period defined in `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS`. |
+| `N8N_MFA_ENABLED` | Boolean | `true` | Whether to enable two-factor authentication (true) or disable (false). n8n ignores this if existing users have 2FA enabled. |
+
diff --git a/docs/hosting/configuration/environment-variables/workflows.md b/docs/hosting/configuration/environment-variables/workflows.md
new file mode 100644
index 000000000..c952b5c9d
--- /dev/null
+++ b/docs/hosting/configuration/environment-variables/workflows.md
@@ -0,0 +1,19 @@
+---
+title: Workflows environment variables
+description: Environment variables to configure workflows in n8n, including default naming, onboarding flow preferences, tag management, and caller policy settings.
+contentType: reference
+tags:
+ - environment variables
+hide:
+ - toc
+ - tags
+---
+
+# Workflows environment variables
+
+| Variable | Type | Default | Description |
+| :------- | :---- | :------- | :---------- |
+| `WORKFLOWS_DEFAULT_NAME` | String | `My workflow` | The default name used for new workflows. |
+| `N8N_ONBOARDING_FLOW_DISABLED` | Boolean | `false` | Whether to show onboarding tips when creating a new workflow (true) or not (false). |
+| `N8N_WORKFLOW_TAGS_DISABLED` | Boolean | `false` | Whether to disable workflow tags (true) or enable tags (false). |
+| `N8N_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION` | String | `workflowsFromSameOwner` | Which workflows can call a workflow. Options are: `any`, `none`, `workflowsFromAList`, `workflowsFromSameOwner`. This feature requires [Workflow sharing](/workflows/sharing/). |
diff --git a/docs/hosting/supported-databases-settings.md b/docs/hosting/configuration/supported-databases-settings.md
similarity index 80%
rename from docs/hosting/supported-databases-settings.md
rename to docs/hosting/configuration/supported-databases-settings.md
index af98ecc6e..c9ab9459b 100644
--- a/docs/hosting/supported-databases-settings.md
+++ b/docs/hosting/configuration/supported-databases-settings.md
@@ -70,17 +70,3 @@ This is the default database that gets used if nothing is defined.
The database file is located at:
`~/.n8n/database.sqlite`
-
-
-## Other databases
-
-n8n officially supports SQLite and PostgresDB.
-
-n8n internally uses [TypeORM](https://typeorm.io){:target=_blank .external-link}, so adding support for the following databases
-should be possible:
-
- - CockroachDB
- - Microsoft SQL
- - Oracle
-
-If you can't use any of the supported databases for some reason and you can code, consider submitting a [pull request](https://github.com/n8n-io/n8n){:target=_blank .external-link}. You can also request support [here](https://community.n8n.io/c/feature-requests/cli){:target=_blank .external-link}.
diff --git a/docs/hosting/user-management-self-hosted.md b/docs/hosting/configuration/user-management-self-hosted.md
similarity index 92%
rename from docs/hosting/user-management-self-hosted.md
rename to docs/hosting/configuration/user-management-self-hosted.md
index 7d64a411b..d20a7b648 100644
--- a/docs/hosting/user-management-self-hosted.md
+++ b/docs/hosting/configuration/user-management-self-hosted.md
@@ -44,7 +44,7 @@ Get the following information from your SMTP provider:
* SMTP password
* SMTP sender name
-To set up SMTP with n8n, configure the SMTP environment variables for your n8n instance. For information on how to set environment variables, refer to [Configuration](/hosting/configuration/)
+To set up SMTP with n8n, configure the SMTP environment variables for your n8n instance. For information on how to set environment variables, refer to [Configuration](/hosting/configuration/configuration-methods/)
| Variable | Type | Description | Required? |
| -------- | ---- | ----------- | --------- |
@@ -66,7 +66,7 @@ To set up SMTP with n8n, configure the SMTP environment variables for your n8n i
If your n8n instance is already running, you need to restart it to enable the new SMTP settings.
/// note | More configuration options
-There are more configuration options available as environment variables. Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for a list. These include options to disable tags, workflow templates, and the personalization survey, if you don't want your users to see them.
+There are more configuration options available as environment variables. Refer to [Environment variables](/hosting/configuration/environment-variables/) for a list. These include options to disable tags, workflow templates, and the personalization survey, if you don't want your users to see them.
///
/// note | New to SMTP?
diff --git a/docs/hosting/environment-variables/configuration-examples/index.md b/docs/hosting/environment-variables/configuration-examples/index.md
deleted file mode 100644
index 205fa5f96..000000000
--- a/docs/hosting/environment-variables/configuration-examples/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-contentType: overview
----
-
-# Configuration examples
-
-This section contains examples for how to configure n8n to solve particular use cases.
diff --git a/docs/hosting/environment-variables/configuration-examples/isolation.md b/docs/hosting/environment-variables/configuration-examples/isolation.md
deleted file mode 100644
index 68a911115..000000000
--- a/docs/hosting/environment-variables/configuration-examples/isolation.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-contentType: howto
----
-
-# Isolating n8n
-
-By default, a self-hosted n8n instance sends data to n8n's servers. This allows n8n to send users notifications about available updates, allows access to workflow templates, and provides n8n with diagnostic information.
-
-If you need to prevent your n8n instance from connecting with n8n's servers, use environment variables to turn off the settings that cause your instance to connect with n8n's servers.
-
-Turn off diagnostics, notifications, and workflow templates:
-
-```
-N8N_DIAGNOSTICS_ENABLED=false
-N8N_VERSION_NOTIFICATIONS_ENABLED=false
-N8N_TEMPLATES_ENABLED=false
-```
-
-Unset n8n's diagnostics configuration:
-
-```
-EXTERNAL_FRONTEND_HOOKS_URLS=
-N8N_DIAGNOSTICS_CONFIG_FRONTEND=
-N8N_DIAGNOSTICS_CONFIG_BACKEND=
-```
-
-Refer to [Environment variables reference](/hosting/environment-variables/environment-variables/) for more information on each variable.
diff --git a/docs/hosting/environment-variables/configuration-methods.md b/docs/hosting/environment-variables/configuration-methods.md
deleted file mode 100644
index 353c77f76..000000000
--- a/docs/hosting/environment-variables/configuration-methods.md
+++ /dev/null
@@ -1,235 +0,0 @@
----
-description: How to set environment variables for n8n.
-contentType: howto
----
-
-# Configuration
-
-You can change n8n's settings using environment variables. For a full list of available configurations see [Environment Variables](/hosting/environment-variables/environment-variables/).
-
-## Set environment variables by command line
-
-### npm
-
-For npm, set your desired environment variables in terminal using the `export` command as shown below:
-
-```bash
-export =
-```
-
-### Docker
-
-In Docker you can use the `-e` flag from the command line:
-
-```bash
-docker run -it --rm \
- --name n8n \
- -p 5678:5678 \
- -e N8N_TEMPLATES_ENABLED="false" \
- docker.n8n.io/n8nio/n8n
-```
-
-## Set environment variables using a file
-
-You can also configure n8n using a configuration file.
-
-Only define the values that need to be different from the default in your configuration file. You can use multiple files. For example, you can have a file with generic base settings, and files with specific values for different environments.
-
-### npm
-
-Set the path to the JSON configuration file using the environment variable `N8N_CONFIG_FILES`:
-
-```shell
-# Bash - Single file
-export N8N_CONFIG_FILES=//my-config.json
-# Bash - Multiple files are comma-separated
-export N8N_CONFIG_FILES=//my-config.json,//production.json
-
-# PowerShell - Single file, persist for current user
-# Note that setting scope (Process, User, Machine) has no effect on Unix systems
-[Environment]::SetEnvironmentVariable('N8N_CONFIG_FILES', '\config.json', 'User')
-```
-
-Example file:
-
-```json
-{
- "executions": {
- "saveDataOnSuccess": "none"
- },
- "generic": {
- "timezone": "Europe/Berlin"
- },
- "nodes": {
- "exclude": "[\"n8n-nodes-base.executeCommand\",\"n8n-nodes-base.writeBinaryFile\"]"
- }
-}
-```
-
-/// note | Formatting as JSON
-You can't always work out the correct JSON from the [Environment variables reference](/hosting/environment-variables/environment-variables/). For example, to set `N8N_METRICS` to `true`, you need to do:
-
-```json
-{
- "endpoints": {
- "metrics": {
- "enable": true
- }
- }
-}
-```
-
-Refer to the [Schema file in the source code](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/config/schema.ts){:target=_blank .external-link} for full details of the expected settings.
-///
-
-
-### Docker
-
-In Docker, you can set your environment variables in the `n8n: environment:` element of your `docker-compose.yaml` file.
-
-For example:
-
-```yaml
-n8n:
- environment:
- - N8N_TEMPLATES_ENABLED=false
-```
-
-### Keeping sensitive data in separate files
-
-You can append `_FILE` to some individual environment variables to provide their configuration in a separate file, enabling you to avoid passing sensitive details using environment variables. n8n loads the data from the file with the given name, making it possible to load data from Docker-Secrets and Kubernetes-Secrets.
-
-The following environment variables support file input:
-
-- `CREDENTIALS_OVERWRITE_DATA_FILE`
-- `DB_TYPE_FILE`
-- `DB_POSTGRESDB_DATABASE_FILE`
-- `DB_POSTGRESDB_HOST_FILE`
-- `DB_POSTGRESDB_PASSWORD_FILE`
-- `DB_POSTGRESDB_PORT_FILE`
-- `DB_POSTGRESDB_SSL_CA_FILE`
-- `DB_POSTGRESDB_SSL_CERT_FILE`
-- `DB_POSTGRESDB_SSL_KEY_FILE`
-- `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED_FILE`
-- `DB_POSTGRESDB_USER_FILE`
-- `DB_POSTGRESDB_SCHEMA_FILE`
-
-
-## Examples
-
-### Base URL
-
-/// warning | Requires manual UI build
-This variable requires a manual build of the `n8n-editor-ui` package. You can't use it with the default n8n Docker image. The default is `/`, meaning that it uses the root-domain.
-///
-Tells the front end how to reach the REST API of the back end:
-
-```bash
-export VUE_APP_URL_BASE_API=https://n8n.example.com/
-```
-
-### Encryption key
-
-n8n creates a random encryption key automatically on the first launch and saves
-it in the `~/.n8n` folder. n8n uses that key to encrypt the credentials before
-they get saved to the database. If the key isn't yet in the settings file,
-you can set it using an environment variable, so that n8n
-uses your custom key instead of generating a new one.
-
-In queue mode, you must specify the encryption key environment variable for all workers.
-
-```bash
-export N8N_ENCRYPTION_KEY=
-```
-
-
-### Execution timeout
-
-A workflow times out and gets canceled after this time (in seconds). If the workflow runs in the main process, a soft timeout happens (takes effect after the current node finishes). If a workflow runs in its own process, n8n attempts a soft timeout first, then kills the process after waiting for an additional fifth of the given timeout duration.
-
-`EXECUTIONS_TIMEOUT` default is `-1`. For example, if you want to set the timeout to one hour:
-
-```bash
-export EXECUTIONS_TIMEOUT=3600
-```
-
-You can also set maximum execution time (in seconds) for each workflow individually. For example, if you want to set maximum execution time to two hours:
-
-```bash
-export EXECUTIONS_TIMEOUT_MAX=7200
-```
-
-### Custom nodes location
-
-Every user can add custom nodes that get loaded by n8n on startup. The default
-location is in the subfolder `.n8n/custom` of the user who started n8n.
-
-You can define more folders with an environment variable:
-
-```bash
-export N8N_CUSTOM_EXTENSIONS="/home/jim/n8n/custom-nodes;/data/n8n/nodes"
-```
-
-### Use built-in and external modules in the Code node
-
-For security reasons, the Code node restricts importing modules. It's possible to lift that restriction for built-in and external modules by setting the following environment variables:
-
-- `NODE_FUNCTION_ALLOW_BUILTIN`: For built-in modules
-- `NODE_FUNCTION_ALLOW_EXTERNAL`: For external modules sourced from n8n/node_modules directory. External module support is disabled when an environment variable isn't set.
-
-```bash
-# Allows usage of all builtin modules
-export NODE_FUNCTION_ALLOW_BUILTIN=*
-
-# Allows usage of only crypto
-export NODE_FUNCTION_ALLOW_BUILTIN=crypto
-
-# Allows usage of only crypto and fs
-export NODE_FUNCTION_ALLOW_BUILTIN=crypto,fs
-
-# Allow usage of external npm modules.
-export NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash
-```
-
-### Timezone
-
-The default timezone is America/New_York. For instance, the Schedule node uses it to know at what time the workflow should start. To set a different default timezone, set `GENERIC_TIMEZONE` to the appropriate value. For example, if you want to set the timezone to Berlin (Germany):
-
-```bash
-export GENERIC_TIMEZONE=Europe/Berlin
-```
-
-You can find the name of your timezone [here](https://momentjs.com/timezone/).
-
-### User folder
-
-n8n saves user-specific data like the encryption key, SQLite database file, and
-the ID of the tunnel (if used) in the subfolder `.n8n` of the user who started n8n. It's possible to overwrite the user-folder using an environment variable.
-
-```bash
-export N8N_USER_FOLDER=/home/jim/n8n
-```
-
-### Webhook URL
-
-n8n creates the webhook URL by combining `N8N_PROTOCOL`, `N8N_HOST` and `N8N_PORT`. If n8n runs behind a reverse proxy, that won't work. That's because n8n runs internally on port 5678 but is exposed to the web using the reverse proxy on port 443. In that case, it's important to set the webhook URL manually so that n8n can display it in the Editor UI and register the correct webhook URLs with external services.
-
-```bash
-export WEBHOOK_URL=https://n8n.example.com/
-```
-
-
-### Prometheus
-
-/// note | Experimental
-Prometheus metrics are an experimental feature.
-///
-To collect and expose metrics, n8n uses the [prom-client](https://www.npmjs.com/package/prom-client) library.
-
-The `/metrics` endpoint is disabled by default, but it's possible to enable it using the `N8N_METRICS` environment variable.
-
-```bash
-export N8N_METRICS=true
-```
-
-Refer to the respective [Environment Variables](/hosting/environment-variables/environment-variables/#endpoints) (`N8N_METRICS_INCLUDE_*`) for configuring which metrics and labels should get exposed.
diff --git a/docs/hosting/environment-variables/environment-variables.md b/docs/hosting/environment-variables/environment-variables.md
deleted file mode 100644
index 29031e3ec..000000000
--- a/docs/hosting/environment-variables/environment-variables.md
+++ /dev/null
@@ -1,296 +0,0 @@
----
-description: Configuration environment variables for self-hosted n8n.
-contentType: reference
-tags:
- - environment variables
-hide:
- - tags
----
-
-# Configuration environment variables
-
-/// note | File-based configuration
-You can provide a [configuration file](/hosting/environment-variables/configuration-methods/) for n8n. You can also append `_FILE` to certain variables to provide their configuration in a separate file. Variables that support this have the "/`_FILE`" option listed below.
-///
-## Credentials
-
-Enabling overwrites for credentials allows you to set default values for credentials which get automatically populated. The user can't see or change these credentials. The format is `{ CREDENTIAL_NAME: { PARAMETER: VALUE }}`.
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `CREDENTIALS_OVERWRITE_DATA` /`_FILE` | * | - | Overwrites for credentials. |
-| `CREDENTIALS_OVERWRITE_ENDPOINT` | String | - | The API endpoint to fetch credentials. |
-| `CREDENTIALS_DEFAULT_NAME` | String | `My credentials` | The default name for credentials. |
-
-## Database
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `DB_TYPE` /`_FILE` | Enum string: `sqlite`, `postgresdb` | `sqlite` | The database to use. |
-| `DB_TABLE_PREFIX` | * | - | Prefix to use for table names. |
-
-### PostgreSQL
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `DB_POSTGRESDB_DATABASE` /`_FILE` | String | `n8n` | The name of the PostgreSQL database. Default value is `n8n`. |
-| `DB_POSTGRESDB_HOST` /`_FILE` | String | `localhost` | The PostgreSQL host. Default value is `localhost`. |
-| `DB_POSTGRESDB_PORT` /`_FILE` | Number | `5432` | The PostgreSQL port. Default value is `5432`. |
-| `DB_POSTGRESDB_USER` /`_FILE` | String | `root` | The PostgreSQL user. Default value is `root`. |
-| `DB_POSTGRESDB_PASSWORD` /`_FILE` | String | - | The PostgreSQL password. |
-| `DB_POSTGRESDB_SCHEMA` /`_FILE` | String | `public` | The PostgreSQL schema. Default value is `public`. |
-| `DB_POSTGRESDB_SSL_CA` /`_FILE` | String | - | The PostgreSQL SSL certificate authority. |
-| `DB_POSTGRESDB_SSL_CERT` /`_FILE` | String | - | The PostgreSQL SSL certificate. |
-| `DB_POSTGRESDB_SSL_KEY` /`_FILE` | String | - | The PostgreSQL SSL key. |
-| `DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED` /`_FILE` | Boolean | `true` | If n8n should reject unauthorized SSL connections (true) or not (false). |
-
-### SQLite
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `DB_SQLITE_VACUUM_ON_STARTUP` | Boolean | `false` | Runs [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target="_blank" .external-link} operation on startup to rebuild the database. Reduces file size and optimizes indexes. This is a long running blocking operation and increases start-up time. |
-
-## Deployment
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_EDITOR_BASE_URL` | String | - | Public URL where users can access the editor. Also used for emails sent from n8n. |
-| `N8N_CONFIG_FILES` | String | - | Use to provide the path to any JSON [configuration file](/hosting/environment-variables/configuration-methods/). |
-| `N8N_DISABLE_UI` | Boolean | `false` | Disable the UI (true) or not (false). |
-| `N8N_TEMPLATES_ENABLED` | Boolean | `true` | Enable workflow templates (true) or disable (false). |
-| `N8N_TEMPLATES_HOST` | String | `https://api.n8n.io` | Change this if creating your own workflow template library. Note that to use your own workflow templates library, your API must provide the same endpoints and response structure as n8n's. Refer to [Workflow templates](/workflows/templates/) for more information. |
-| `N8N_ENCRYPTION_KEY` | String | Random key generated by n8n | Provide a custom key used to encrypt credentials in the n8n database. By default n8n generates a random key on first launch. |
-| `N8N_USER_FOLDER` | String | `user-folder` | Provide the path where n8n will create the `.n8n` folder. This directory stores user-specific data, such as database file and encryption key. |
-| `N8N_PATH` | String | `/` | The path n8n deploys to. |
-| `N8N_HOST` | String | `localhost` | Host name n8n runs on. |
-| `N8N_PORT` | Number | `5678` | The HTTP port n8n runs on. |
-| `N8N_LISTEN_ADDRESS` | String | `0.0.0.0` | The IP address n8n should listen on. |
-| `N8N_PROTOCOL` | Enum string: `http`, `https` | `http` | The protocol used to reach n8n. |
-| `N8N_SSL_KEY` | String | - | The SSL key for HTTPS protocol. |
-| `N8N_SSL_CERT` | String | - | The SSL certificate for HTTPS protocol. |
-| `N8N_PERSONALIZATION_ENABLED` | Boolean | `true` | Whether to ask users personalisation questions and then customise n8n accordingly. |
-| `N8N_VERSION_NOTIFICATIONS_ENABLED` | Boolean | `true` | When enabled, n8n sends notifications of new versions and security updates. |
-| `N8N_VERSION_NOTIFICATIONS_ENDPOINT` | String | `https://api.n8n.io/versions/` | The endpoint to retrieve where version information. |
-| `N8N_VERSION_NOTIFICATIONS_INFO_URL` | String | `https://docs.n8n.io/getting-started/installation/updating.html` | The URL displayed in the New Versions panel for additional information. |
-| `N8N_DIAGNOSTICS_ENABLED` | Boolean | `true` | Whether to share selected, anonymous [telemetry](/privacy-security/privacy/) with n8n |
-| `N8N_DIAGNOSTICS_CONFIG_FRONTEND` | String | `1zPn9bgWPzlQc0p8Gj1uiK6DOTn;https://telemetry.n8n.io` | Telemetry configuration for the frontend. |
-| `N8N_DIAGNOSTICS_CONFIG_BACKEND` | String | `1zPn7YoGC3ZXE9zLeTKLuQCB4F6;https://telemetry.n8n.io/v1/batch` | Telemetry configuration for the backend. |
-| `N8N_PUSH_BACKEND` | String | `websocket` | Choose whether the n8n backend uses server-sent events (`sse`) or WebSockets (`websocket`) to send changes to the UI. |
-| `VUE_APP_URL_BASE_API` | String | `http://localhost:5678/` | Used when building the `n8n-editor-ui` package manually to set how the frontend can reach the backend API. |
-| `N8N_HIRING_BANNER_ENABLED` | Boolean | `true` | Whether to show the n8n hiring banner in the console (true) or not (false). |
-| `N8N_PUBLIC_API_SWAGGERUI_DISABLED` | Boolean | `false` | Whether the Swagger UI (API playground) is disabled (true) or not (false). |
-| `N8N_PUBLIC_API_DISABLED` | Boolean | `false` | Whether to disable the public API (false) or not (true). |
-| `N8N_PUBLIC_API_ENDPOINT` | String | `api` | Path for the public API endpoints. |
-| `N8N_GRACEFUL_SHUTDOWN_TIMEOUT` | Number | `30` | How long should the n8n process wait (in seconds) for components to shut down before exiting the process. |
-
-## Binary data
-
-By default, n8n uses memory to store binary data. Enterprise users can choose to use an external service instead. Refer to [External storage](/hosting/external-storage/) for more information on using external storage for binary data.
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_AVAILABLE_BINARY_DATA_MODES` | String | `filesystem` | A comma separated list of available binary data modes. |
-| `N8N_BINARY_DATA_STORAGE_PATH` | String | `N8N_USE_FOLDER/binaryData` | The path where n8n stores binary data. |
-| `N8N_DEFAULT_BINARY_DATA_MODE` | String | `default` | The default binary data mode. `default` keeps binary data in memory. Set to `filesystem` to use the filesystem, or `s3` to AWS S3. |
-
-## User management SMTP, and two-factor authentication
-
-Refer to [User management](/hosting/user-management-self-hosted/) for more information on setting up user management and emails.
-
-| Variable | Type | Default | Description |
-| :------- | :--- | :------ | :---------- |
-| `N8N_EMAIL_MODE` | String | `smtp` | Enable emails. |
-| `N8N_SMTP_HOST` | String | - | _your_SMTP_server_name_ |
-| `N8N_SMTP_PORT` | Number | - | _your_SMTP_server_port_ |
-| `N8N_SMTP_USER` | String | - | _your_SMTP_username_ |
-| `N8N_SMTP_PASS` | String | - | _your_SMTP_password_ |
-| `N8N_SMTP_OAUTH_SERVICE_CLIENT` | String | - | If using 2LO with a service account this is your client ID |
-| `N8N_SMTP_OAUTH_PRIVATE_KEY` | String | - | If using 2LO with a service account this is your private key |
-| `N8N_SMTP_SENDER` | String | - | Sender email address. You can optionally include the sender name. Example with name: _N8N ``_ |
-| `N8N_SMTP_SSL` | Boolean | `true` | Whether to use SSL for SMTP (true) or not (false). |
-| `N8N_UM_EMAIL_TEMPLATES_INVITE` | String | - | Full path to your HTML email template. This overrides the default template for invite emails. |
-| `N8N_UM_EMAIL_TEMPLATES_PWRESET` | String | - | Full path to your HTML email template. This overrides the default template for password reset emails. |
-| `N8N_UM_EMAIL_TEMPLATES_WORKFLOW_SHARED` | String | - | Overrides the default HTML template for notifying users that a workflow was shared. Provide the full path to the template. |
-| `N8N_UM_EMAIL_TEMPLATES_CREDENTIALS_SHARED` | String | - | Overrides the default HTML template for notifying users that a credential was shared. Provide the full path to the template. |
-| `N8N_USER_MANAGEMENT_JWT_SECRET` | String | - | Set a specific JWT secret. By default, n8n generates one on start. |
-| `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS` | Number | 168 | Set an expiration date for the JWTs in hours. |
-| `N8N_USER_MANAGEMENT_JWT_REFRESH_TIMEOUT_HOURS` | Number | 0 | How many hours before the JWT expires to automatically refresh it. 0 means 25% of `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS`. -1 means it will never refresh, which forces users to log in again after the period defined in `N8N_USER_MANAGEMENT_JWT_DURATION_HOURS`. |
-| `N8N_MFA_ENABLED` | Boolean | `true` | Whether to enable two-factor authentication (true) or disable (false). n8n ignores this if existing users have 2FA enabled. |
-
-
-## Endpoints
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_PAYLOAD_SIZE_MAX` | Number | `16` | The maximum payload size in MB. |
-| `N8N_METRICS` | Boolean | `false` | Whether to enable the `/metrics` endpoint. |
-| `N8N_METRICS_PREFIX` | String | `n8n_` | Optional prefix for n8n specific metrics names. |
-| `N8N_METRICS_INCLUDE_DEFAULT_METRICS` | Boolean | `true` | Whether to expose default system and node.js metrics. |
-| `N8N_METRICS_INCLUDE_CACHE_METRICS` | Boolean | false | Whether to include metrics (true) for cache hits and misses, or not include them (false). |
-| `N8N_METRICS_INCLUDE_MESSAGE_EVENT_BUS_METRICS` | Boolean | `false` | Whether to include metrics (true) for events, or not include them (false). |
-| `N8N_METRICS_INCLUDE_WORKFLOW_ID_LABEL` | Boolean | `false` | Whether to include a label for the workflow ID on workflow metrics. |
-| `N8N_METRICS_INCLUDE_NODE_TYPE_LABEL` | Boolean | `false` | Whether to include a label for the node type on node metrics. |
-| `N8N_METRICS_INCLUDE_CREDENTIAL_TYPE_LABEL` | Boolean | `false` | Whether to include a label for the credential type on credential metrics. |
-| `N8N_METRICS_INCLUDE_API_ENDPOINTS` | Boolean | `false` | Whether to expose metrics for API endpoints. |
-| `N8N_METRICS_INCLUDE_API_PATH_LABEL` | Boolean | `false` | Whether to include a label for the path of API invocations. |
-| `N8N_METRICS_INCLUDE_API_METHOD_LABEL` | Boolean | `false` | Whether to include a label for the HTTP method (GET, POST, ...) of API invocations. |
-| `N8N_METRICS_INCLUDE_API_STATUS_CODE_LABEL` | Boolean | `false` | Whether to include a label for the HTTP status code (200, 404, ...) of API invocations. |
-| `N8N_ENDPOINT_REST` | String | `rest` | The path used for REST endpoint. |
-| `N8N_ENDPOINT_WEBHOOK` | String | `webhook` | The path used for webhook endpoint. |
-| `N8N_ENDPOINT_WEBHOOK_TEST` | String | `webhook-test` | The path used for test-webhook endpoint. |
-| `N8N_ENDPOINT_WEBHOOK_WAIT` | String | `webhook-waiting` | The path used for waiting-webhook endpoint. |
-| `WEBHOOK_URL` | String | - | Used to manually provide the Webhook URL when running n8n behind a reverse proxy. See [here](/hosting/environment-variables/configuration-methods/#webhook-url) for more details. |
-| `N8N_DISABLE_PRODUCTION_MAIN_PROCESS` | Boolean | `false` | Disable production webhooks from main process. This helps ensure no HTTP traffic load to main process when using webhook-specific processes. |
-
-## External hooks
-
-| Variable | Type | Description |
-| :------- | :---- | :---------- |
-| `EXTERNAL_HOOK_FILES` | String | Files containing external hooks. Provide multiple files as a colon-separated list ("`:`"). |
-
-## Executions
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `EXECUTIONS_MODE` | Enum string: `regular`, `queue` | `regular` | Whether executions should run directly or using queue.
Refer to [Execution modes and processes](/hosting/scaling/execution-modes-processes/) for more details. |
-| `EXECUTIONS_TIMEOUT` | Number | `-1` | Sets a default timeout (in seconds) to all workflows after which n8n stops their execution. Users can override this for individual workflows up to the duration set in `EXECUTIONS_TIMEOUT_MAX`. Set `EXECUTIONS_TIMEOUT` to `-1` to disable. |
-| `EXECUTIONS_TIMEOUT_MAX` | Number | `3600` | The maximum execution time (in seconds) that users can set for an individual workflow. |
-| `EXECUTIONS_DATA_SAVE_ON_ERROR` | Enum string: `all`, `none` | `all` | Whether n8n saves execution data on error. |
-| `EXECUTIONS_DATA_SAVE_ON_SUCCESS` | Enum string: `all`, `none` | `all` | Whether n8n saves execution data on success. |
-| `EXECUTIONS_DATA_SAVE_ON_PROGRESS` | Boolean | `false` | Whether to save progress for each node executed (true) or not (false). |
-| `EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS` | Boolean | `true` | Whether to save data of executions when started manually. |
-| `EXECUTIONS_DATA_PRUNE` | Boolean | `true` | Whether to delete data of past executions on a rolling basis. |
-| `EXECUTIONS_DATA_MAX_AGE` | Number | `336` | The execution age (in hours) before it's deleted. |
-| `EXECUTIONS_DATA_PRUNE_MAX_COUNT` | Number | `10000` | Maximum number of executions to keep in the database. 0 = no limit |
-| `EXECUTIONS_DATA_HARD_DELETE_BUFFER` | Number | `1` | How old (hours) the finished execution data has to be to get hard-deleted. By default, this buffer excludes recent executions as the user may need them while building a workflow. |
-| `EXECUTIONS_DATA_PRUNE_HARD_DELETE_INTERVAL` | Number | `15` | How often (minutes) execution data should be hard-deleted. |
-| `EXECUTIONS_DATA_PRUNE_SOFT_DELETE_INTERVAL` | Number | `60` | How often (minutes) execution data should be soft-deleted. |
-
-## Logs
-
-### n8n logs
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_LOG_LEVEL` | Enum string: `info`, `warn`, `error`, `verbose`, `debug` | `info` | Log output level. |
-| `N8N_LOG_OUTPUT` | Enum string: `console`, `file` | `console` | Where to output logs. Provide multiple values as a comma-seperated list. |
-| `N8N_LOG_FILE_COUNT_MAX` | Number | `100` | Max number of log files to keep. |
-| `N8N_LOG_FILE_SIZE_MAX` | Number | `16` | Max size of each log file in MB. |
-| `N8N_LOG_FILE_LOCATION` | String | `file` | Log file location. Requires N8N_LOG_OUTPUT set to `file`. |
-| `DB_LOGGING_ENABLED` | Boolean | `false` | Whether to enable database-specific logging. |
-| `DB_LOGGING_OPTIONS` | Enum string: `query`, `error`, `schema`, `warn`, `info`, `log` | `error` | Database log output level. To enable all logging, specify `all`. |
-| `DB_LOGGING_MAX_EXECUTION_TIME` | Number | `1000` | Maximum execution time (in milliseconds) before n8n logs a warning. Set to `0` to disable long running query warning. |
-
-### Log streaming
-
-Refer to [Log streaming](/log-streaming/) for more information on this feature.
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_EVENTBUS_CHECKUNSENTINTERVAL` | Number | `0` | How often (in milliseconds) to check for unsent event messages. Can in rare cases cause a message to be sent twice. Set to `0` to disable it. |
-| `N8N_EVENTBUS_LOGWRITER_SYNCFILEACCESS` | Boolean | `false` | Whether all file access happens synchronously within the thread (true) or not (false). |
-| `N8N_EVENTBUS_LOGWRITER_KEEPLOGCOUNT` | Number | `3` | How many event log files to keep. |
-| `N8N_EVENTBUS_LOGWRITER_MAXFILESIZEINKB` | Number | `10240` | Maximum size (in kilo-bytes) of an event log file before a new one is started. |
-| `N8N_EVENTBUS_LOGWRITER_LOGBASENAME` | String | `n8nEventLog` | Basename of the event log file. |
-
-## External data storage
-
-Refer to [External storage](/hosting/external-storage/) for more information on using external storage for binary data.
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_EXTERNAL_STORAGE_S3_HOST` | String | - | Host of the n8n bucket in S3-compatible external storage. For example, `s3.us-east-1.amazonaws.com` |
-| `N8N_EXTERNAL_STORAGE_S3_BUCKET_NAME` | String | - | Name of the n8n bucket in S3-compatible external storage. |
-| `N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION` | String | - | Region of the n8n bucket in S3-compatible external storage. For example, `us-east-1`|
-| `N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY` | String | - | Access key in S3-compatible external storage |
-| `N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET` | String | - | Access secret in S3-compatible external storage. |
-
-
-## Nodes
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `NODES_INCLUDE` | Array of strings | - | Specify which nodes to load. |
-| `NODES_EXCLUDE` | Array of strings | - | Specify which nodes not to load. For example, to block nodes that can be a security risk if users aren't trustworthy: `NODES_EXCLUDE: "[\"n8n-nodes-base.executeCommand\", \"n8n-nodes-base.filesreadwrite\"]"` |
-| `NODE_FUNCTION_ALLOW_BUILTIN` | String | - | Permit users to import specific built-in modules in the Code node. Use * to allow all. n8n disables importing modules by default. |
-| `NODE_FUNCTION_ALLOW_EXTERNAL` | String | - | Permit users to import specific external modules (from `n8n/node_modules`) in the Code node. n8n disables importing modules by default. |
-| `NODES_ERROR_TRIGGER_TYPE` | String | `n8n-nodes-base.errorTrigger` | Specify which node type to use as Error Trigger. |
-| `N8N_CUSTOM_EXTENSIONS` | String | - | Specify the path to additional directories containing your custom nodes. |
-| `N8N_COMMUNITY_PACKAGES_ENABLED` | Boolean | `true` | Whether community nodes are enabled (true) or not (false). |
-
-## Queue mode
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `QUEUE_BULL_PREFIX` | String | - | Prefix to use for all queue keys. |
-| `QUEUE_BULL_REDIS_DB` | Number | `0` | The Redis database used. |
-| `QUEUE_BULL_REDIS_HOST` | String | `localhost` | The Redis host. |
-| `QUEUE_BULL_REDIS_PORT` | Number | `6379` | The Redis port used. |
-| `QUEUE_BULL_REDIS_USERNAME` | String | - | The Redis username (needs Redis version 6 or above). Don't define it for Redis < 6 compatibility |
-| `QUEUE_BULL_REDIS_PASSWORD` | String | - | The Redis password. |
-| `QUEUE_BULL_REDIS_TIMEOUT_THRESHOLD` | Number | `10000` | The Redis timeout threshold (in seconds). |
-| `QUEUE_BULL_REDIS_CLUSTER_NODES` | String | - | Expects a comma-separated list of Redis Cluster nodes in the format `host:port`, for the Redis client to initially connect to. If running in queue mode (`EXECUTIONS_MODE = queue`), setting this variable will create a Redis Cluster client instead of a Redis client, and n8n will ignore `QUEUE_BULL_REDIS_HOST` and `QUEUE_BULL_REDIS_PORT`. |
-| `QUEUE_BULL_REDIS_TLS` | Boolean | `false` | Enable TLS on Redis connections. |
-| `QUEUE_RECOVERY_INTERVAL` | Number | `60` | Interval (in seconds) for active polling to the queue to recover from Redis crashes. `0` disables recovery. May increase Redis traffic significantly. |
-| `QUEUE_WORKER_TIMEOUT` (**deprecated**) | Number | `30` | **Deprecated** Use `N8N_GRACEFUL_SHUTDOWN_TIMEOUT` instead.
How long should n8n wait (seconds) for running executions before exiting worker process on shutdown. |
-| `QUEUE_HEALTH_CHECK_ACTIVE` | Boolean | `false` | Whether to enable health checks (true) or disable (false). |
-| `QUEUE_HEALTH_CHECK_PORT` | Number | - | The port to serve health checks on. |
-| `QUEUE_WORKER_LOCK_DURATION` | Number | `30000` | How long (in ms) is the lease period for a worker to work on a message. |
-| `QUEUE_WORKER_LOCK_RENEW_TIME` | Number | `15000` | How frequently (in ms) should a worker renew the lease time. |
-| `QUEUE_WORKER_STALLED_INTERVAL` | Number | `30000` | How often should a worker check for stalled jobs (use 0 for never). |
-| `QUEUE_WORKER_MAX_STALLED_COUNT` | Number | `1` | Maximum amount of times a stalled job will be re-processed. |
-
-### Multi-main setup
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_MULTI_MAIN_SETUP_ENABLED` | Boolean | `false` | Whether to enable multi-main setup for queue mode (license required). |
-| `N8N_MULTI_MAIN_SETUP_KEY_TTL` | Number | `10` | Time to live (in seconds) for leader key in multi-main setup. |
-| `N8N_MULTI_MAIN_SETUP_CHECK_INTERVAL` | Number | `3` | Interval (in seconds) for leader check in multi-main setup. |
-
-## Security
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_AUTH_EXCLUDE_ENDPOINTS` | String | - | Exclude endpoints from authentication checks. Provide multiple endpoints as a colon-seperated list ("`:`"). The endpoints must not start with a forward slash ("`/`"). |
-| `N8N_BLOCK_ENV_ACCESS_IN_NODE` | Boolean | `false` | Whether to allow users to access environment variables in expressions and the Code node (false) or not (true). |
-
-## Source control
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` | String | `ed25519` | Set to `rsa` to make RSA the default SSH key type for [Source control setup](/source-control-environments/setup/). |
-
-## External secrets
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_EXTERNAL_SECRETS_UPDATE_INTERVAL` | Number | `300` (5 minutes) | How often (in seconds) to check for secret updates. |
-
-## Timezone and localization
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `GENERIC_TIMEZONE` | * | `America/New_York` |The n8n instance timezone. Important for schedule nodes (such as Cron). |
-| `N8N_DEFAULT_LOCALE` | String | `en` | A locale identifier, compatible with the [Accept-Language header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language){:target="_blank" .external-link}. n8n doesn't support regional identifiers, such as `de-AT`. When running in a locale other than the default, n8n displays UI strings in the selected locale, and falls back to `en` for any untranslated strings. |
-
-## Workflows
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `WORKFLOWS_DEFAULT_NAME` | String | `My workflow` | The default name used for new workflows. |
-| `N8N_ONBOARDING_FLOW_DISABLED` | Boolean | `false` | Whether to show onboarding tips when creating a new workflow (true) or not (false). |
-| `N8N_WORKFLOW_TAGS_DISABLED` | Boolean | `false` | Whether to disable workflow tags (true) or enable tags (false). |
-| `N8N_WORKFLOW_CALLER_POLICY_DEFAULT_OPTION` | String | `workflowsFromSameOwner` | Which workflows can call a workflow. Options are: `any`, `none`, `workflowsFromAList`, `workflowsFromSameOwner`. This feature requires [Workflow sharing](/workflows/sharing/). |
-
-## License
-
-| Variable | Type | Default | Description |
-| :------- | :---- | :------- | :---------- |
-| `N8N_HIDE_USAGE_PAGE` | boolean | `false` | Hide the usage and plans page in the app. |
-| `N8N_LICENSE_ACTIVATION_KEY` | String | `''` | Activation key to initialize license. Not applicable if the n8n instance was already activated. |
-| `N8N_LICENSE_AUTO_RENEW_ENABLED` | Boolean | `true` | Whether autorenew for licenses is enabled (true) or not (false). |
-| `N8N_LICENSE_AUTO_RENEW_OFFSET` | Number | `60 * 60 * 72` (72 hours) | How many seconds before expiry a license should automatically renew. |
-| `N8N_LICENSE_SERVER_URL` | String | `http://license.n8n.io/v1` | Server URL to retrieve license. |
-
-
diff --git a/docs/hosting/environment-variables/index.md b/docs/hosting/environment-variables/index.md
deleted file mode 100644
index 9ae7c0e57..000000000
--- a/docs/hosting/environment-variables/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-description: Guidance on configuring n8n with environment variables.
-contentType: overview
----
-
-# Environment variables
-
-You can configure your n8n instance with environment variables.
-
-* [Configuration methods](/hosting/environment-variables/configuration-methods/): how to configure by CLI or file. Includes examples and explanations for frequently used settings.
-* Reference list of [Environment variables](/hosting/environment-variables/environment-variables/).
diff --git a/docs/hosting/index.md b/docs/hosting/index.md
index 70806cb63..8fcff5476 100644
--- a/docs/hosting/index.md
+++ b/docs/hosting/index.md
@@ -12,25 +12,25 @@ This section provides guidance on setting up n8n for both the Enterprise and Com
Install n8n on any platform using npm or Docker. Or follow our guides to popular hosting platforms.
- [:octicons-arrow-right-24: Installation guides](/hosting/installation/)
+ [:octicons-arrow-right-24: Docker installation guide](/hosting/installation/docker/)
- __Configuration__
Learn how to configure n8n with environment variables.
- [:octicons-arrow-right-24: Configuration](/hosting/environment-variables/)
+ [:octicons-arrow-right-24: Configuration](/hosting/configuration/configuration-methods/)
- __Users and authentication__
Choose and set up user authentication for your n8n instance.
- [:octicons-arrow-right-24: Authentication](/hosting/user-management/)
+ [:octicons-arrow-right-24: Authentication](/hosting/configuration/user-management-self-hosted/)
- __Scaling__
Manage data, modes, and processes to keep n8n running smoothly at scale.
- [:octicons-arrow-right-24: Scaling](/hosting/scaling/)
+ [:octicons-arrow-right-24: Scaling](/hosting/scaling/queue-mode/)
diff --git a/docs/hosting/installation/docker.md b/docs/hosting/installation/docker.md
index ca552f701..4dc7591a0 100644
--- a/docs/hosting/installation/docker.md
+++ b/docs/hosting/installation/docker.md
@@ -47,11 +47,11 @@ If no directory is found, n8n creates automatically one on
startup. In this case, existing credentials saved with a different encryption key can not be used anymore.
/// note | Keep in mind
-Persisting the `/home/node/.n8n` directory even when using alternate databases is the recommended best practice, but not explicitly required. The encryption key can be provided using the `N8N_ENCRYPTION_KEY` [environment variable](/hosting/environment-variables/environment-variables/#deployment).
+Persisting the `/home/node/.n8n` directory even when using alternate databases is the recommended best practice, but not explicitly required. The encryption key can be provided using the `N8N_ENCRYPTION_KEY` [environment variable](/hosting/configuration/environment-variables/deployment).
///
### PostgresDB
-To use n8n with Postgres, provide the corresponding [configuration](/hosting/configuration/):
+To use n8n with Postgres, provide the corresponding:
```sh
docker volume create n8n_data
diff --git a/docs/hosting/installation/index.md b/docs/hosting/installation/index.md
deleted file mode 100644
index 7b4fce98c..000000000
--- a/docs/hosting/installation/index.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-contentType: overview
----
-
-# Installation
-
---8<-- "_snippets/self-hosting/warning.md"
-
-This sections provides guides to install n8n for self-hosting. You can use these guides for both the Enterprise and Community editions.
-
-
-## Installation guides for n8n
-
-* [npm](/hosting/installation/npm/)
-* [Docker](/hosting/installation/docker/)
-
-## Server setup guides for specific platforms
-
-Self-host with Docker Compose:
-
-* [Digital Ocean](/hosting/installation/server-setups/digital-ocean/)
-* [Heroku](/hosting/installation/server-setups/heroku/)
-* [Hetzner Cloud](/hosting/installation/server-setups/hetzner/)
-
-Starting points for a Kubernetes setup:
-
-* [AWS](/hosting/installation/server-setups/aws/)
-* [Azure](/hosting/installation/server-setups/azure/)
-* [Google Cloud Platform](/hosting/installation/server-setups/google-cloud/)
-
-Configuration guides to help you get started on other platforms:
-
-* [Docker Compose](/hosting/installation/server-setups/docker-compose/)
-
-
diff --git a/docs/hosting/installation/server-setups/aws.md b/docs/hosting/installation/server-setups/aws.md
index b36849b5c..27b572d9a 100644
--- a/docs/hosting/installation/server-setups/aws.md
+++ b/docs/hosting/installation/server-setups/aws.md
@@ -115,7 +115,7 @@ This defines a minimum of 250mb per container, a maximum of 500mb, and lets Kube
You can configure n8n settings and behaviors using environment variables.
-Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for n8n environment variables details.
+Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/configuration/environment-variables/) for n8n environment variables details.
## Deployments
diff --git a/docs/hosting/installation/server-setups/azure.md b/docs/hosting/installation/server-setups/azure.md
index 40574c8eb..86372d7ee 100644
--- a/docs/hosting/installation/server-setups/azure.md
+++ b/docs/hosting/installation/server-setups/azure.md
@@ -113,7 +113,7 @@ This defines a minimum of 250mb per container, a maximum of 500mb, and lets Kube
You can configure n8n settings and behaviors using environment variables.
-Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for n8n environment variables details.
+Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/configuration/environment-variables/) for n8n environment variables details.
## Deployments
diff --git a/docs/hosting/installation/server-setups/digital-ocean.md b/docs/hosting/installation/server-setups/digital-ocean.md
index 98b51ba31..1b7a2bc8e 100644
--- a/docs/hosting/installation/server-setups/digital-ocean.md
+++ b/docs/hosting/installation/server-setups/digital-ocean.md
@@ -111,7 +111,7 @@ nano .env
The file contains inline comments to help you know what to change.
-Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for n8n environment variables details.
+Refer to [Environment variables](/hosting/configuration/environment-variables/) for n8n environment variables details.
## The Docker Compose file
diff --git a/docs/hosting/installation/server-setups/docker-compose.md b/docs/hosting/installation/server-setups/docker-compose.md
index 62f0858c9..7cc9eca22 100644
--- a/docs/hosting/installation/server-setups/docker-compose.md
+++ b/docs/hosting/installation/server-setups/docker-compose.md
@@ -122,7 +122,7 @@ volumes:
external: true
```
-If you are planning on reading/writing local files with n8n (for example, by using the [Write Binary File node](/integrations/builtin/core-nodes/n8n-nodes-base.writebinaryfile/), you will need to configure a data directory for those files here. If you are running n8n as a root user, add this under `volumes` for the n8n service:
+If you are planning on reading/writing local files with n8n (for example, by using the [Read/Write Files from Disk node](/integrations/builtin/core-nodes/n8n-nodes-base.filesreadwrite/), you will need to configure a data directory for those files here. If you are running n8n as a root user, add this under `volumes` for the n8n service:
```yaml
- /local-files:/files
@@ -190,7 +190,7 @@ sudo docker compose stop
### 9. Done
n8n will now be reachable using the above defined subdomain + domain combination.
-The above example would result in:
+The above example would result in: `https://n8n.example.com`
n8n will only be reachable using `https` and not using `http`.
diff --git a/docs/hosting/installation/server-setups/google-cloud.md b/docs/hosting/installation/server-setups/google-cloud.md
index 6481f0d7b..b29344975 100644
--- a/docs/hosting/installation/server-setups/google-cloud.md
+++ b/docs/hosting/installation/server-setups/google-cloud.md
@@ -125,7 +125,7 @@ This defines a minimum of 250mb per container, a maximum of 500mb, and lets Kube
You can configure n8n settings and behaviors using environment variables.
-Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for n8n environment variables details.
+Create an `n8n-secret.yaml` file. Refer to [Environment variables](/hosting/configuration/environment-variables/) for n8n environment variables details.
## Deployments
diff --git a/docs/hosting/installation/server-setups/hetzner.md b/docs/hosting/installation/server-setups/hetzner.md
index 49196521f..7714b5226 100644
--- a/docs/hosting/installation/server-setups/hetzner.md
+++ b/docs/hosting/installation/server-setups/hetzner.md
@@ -104,7 +104,7 @@ nano .env
The file contains inline comments to help you know what to change.
-Refer to [Environment variables](/hosting/environment-variables/environment-variables/) for n8n environment variables details.
+Refer to [Environment variables](/hosting/configuration/environment-variables/) for n8n environment variables details.
## The Docker Compose file
diff --git a/docs/hosting/logging-monitoring/index.md b/docs/hosting/logging-monitoring/index.md
deleted file mode 100644
index 089de6b54..000000000
--- a/docs/hosting/logging-monitoring/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-description: Logging and monitoring for your self-hosted n8n instance.
-contentType: overview
----
-
-# Logging and monitoring
-
-n8n provides options for self-hosted users to produce logs and monitor the health of their instance:
-
-* [Logging](/hosting/logging-monitoring/logging/): logs to debug your instance, built on the [winston](https://www.npmjs.com/package/winston){:target=_blank .external-link} logging library.
-* [Log streaming](/log-streaming/): for Enterprise tier.
-* [Monitoring](/hosting/logging-monitoring/monitoring/): use the `/metrics` endpoint to get information about the current status of the instance.
diff --git a/docs/hosting/logging-monitoring/monitoring.md b/docs/hosting/logging-monitoring/monitoring.md
index b8490248b..ba2e8b1a4 100644
--- a/docs/hosting/logging-monitoring/monitoring.md
+++ b/docs/hosting/logging-monitoring/monitoring.md
@@ -44,4 +44,4 @@ N8N_METRICS=true
QUEUE_HEALTH_CHECK_ACTIVE=true
```
-Refer to [Configuration methods](/hosting/environment-variables/configuration-methods/) for more information on how to configure your instance using environment variables.
+Refer to [Configuration methods](/hosting/configuration/configuration-methods/) for more information on how to configure your instance using environment variables.
diff --git a/docs/hosting/security-audit.md b/docs/hosting/logging-monitoring/security-audit.md
similarity index 100%
rename from docs/hosting/security-audit.md
rename to docs/hosting/logging-monitoring/security-audit.md
diff --git a/docs/hosting/scaling/binary-data.md b/docs/hosting/scaling/binary-data.md
index 548bad86b..feae905bf 100644
--- a/docs/hosting/scaling/binary-data.md
+++ b/docs/hosting/scaling/binary-data.md
@@ -10,4 +10,4 @@ Binary data is any file-type data, such as image files or documents.
When handling binary data, n8n keeps the data in memory. This can cause crashes when working with large files.
-To avoid this, change the `N8N_DEFAULT_BINARY_DATA_MODE` [environment variable](/hosting/environment-variables/environment-variables/#binary-data) to `filesystem`. This causes n8n to save data to disk, instead of using memory.
+To avoid this, change the `N8N_DEFAULT_BINARY_DATA_MODE` [environment variable](/hosting/configuration/environment-variables/binary-data) to `filesystem`. This causes n8n to save data to disk, instead of using memory.
diff --git a/docs/hosting/scaling/execution-data.md b/docs/hosting/scaling/execution-data.md
index d83510bde..d4b5817e8 100644
--- a/docs/hosting/scaling/execution-data.md
+++ b/docs/hosting/scaling/execution-data.md
@@ -8,7 +8,7 @@ Depending on your executions settings and volume, your n8n database can quickly
To avoid this, n8n recommends that you don't save unnecessary data, and enable pruning of old executions data.
-To do this, configure the corresponding [environment variables](/hosting/environment-variables/environment-variables/#executions).
+To do this, configure the corresponding [environment variables](/hosting/configuration/environment-variables/executions).
## Reduce saved data
@@ -93,5 +93,5 @@ n8n:
```
/// note | SQLite
-If you run n8n using the default SQLite database, the disk space of any pruned data isn't automatically freed up but rather reused for future executions data. To free up this space configure the `DB_SQLITE_VACUUM_ON_STARTUP` [environment variable](/hosting/environment-variables/environment-variables/#sqlite) or manually run the [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target=_blank .external-link} operation.
-///
\ No newline at end of file
+If you run n8n using the default SQLite database, the disk space of any pruned data isn't automatically freed up but rather reused for future executions data. To free up this space configure the `DB_SQLITE_VACUUM_ON_STARTUP` [environment variable](/hosting/configuration/environment-variables/database/#sqlite) or manually run the [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target=_blank .external-link} operation.
+///
diff --git a/docs/hosting/external-storage.md b/docs/hosting/scaling/external-storage.md
similarity index 100%
rename from docs/hosting/external-storage.md
rename to docs/hosting/scaling/external-storage.md
diff --git a/docs/hosting/scaling/index.md b/docs/hosting/scaling/overview.md
similarity index 100%
rename from docs/hosting/scaling/index.md
rename to docs/hosting/scaling/overview.md
diff --git a/docs/hosting/scaling/queue-mode.md b/docs/hosting/scaling/queue-mode.md
index 963374f3e..1a10d8eb4 100644
--- a/docs/hosting/scaling/queue-mode.md
+++ b/docs/hosting/scaling/queue-mode.md
@@ -30,11 +30,11 @@ Workers are n8n instances that do the actual work. They receive information from
### Set encryption key
-n8n automatically generates an encryption key upon first startup. You can also provide your own custom key using [environment variable](/hosting/environment-variables/environment-variables/#deployment) if desired.
+n8n automatically generates an encryption key upon first startup. You can also provide your own custom key using [environment variable](/hosting/configuration/environment-variables/deployment) if desired.
The encryption key of the main n8n instance must be shared with all worker and webhooks processor nodes to ensure these worker nodes are able to access credentials stored in the database.
-Set the encryption key for each worker node in a [configuration file](/hosting/environment-variables/configuration-methods/) or by setting the corresponding environment variable:
+Set the encryption key for each worker node in a [configuration file](/hosting/configuration/configuration-methods/) or by setting the corresponding environment variable:
```bash
export N8N_ENCRYPTION_KEY=
diff --git a/docs/index.md b/docs/index.md
index 3039bcbbc..12e629b33 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -6,9 +6,9 @@ hide:
# Welcome
-This is the documentation for [n8n](https://n8n.io/), a [fair-code](http://faircode.io) licensed node-based workflow automation tool.
+This is the documentation for [n8n](https://n8n.io/){:target=_blank .external-link}, a [fair-code](http://faircode.io){:target=_blank .external-link} licensed node-based workflow automation tool.
-It covers everything from setup to usage and development. It's a work in progress and all [contributions](/contributing/) are welcome.
+It covers everything from setup to usage and development. It's a work in progress and all [contributions](/help-community/contributing/) are welcome.
## Where to start
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.actionnetwork.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.actionnetwork.md
index 9940e357d..d965572b7 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.actionnetwork.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.actionnetwork.md
@@ -6,8 +6,6 @@ contentType: integration
# Action Network
-
-
Use the Action Network node to automate work in Action Network, and integrate Action Network with other applications. n8n has built-in support for a wide range of Action Network features, including creating, updating, and deleting events, people, tags, and signatures.
On this page, you'll find a list of operations the Action Network node supports, and links to more resources.
@@ -19,7 +17,7 @@ Refer to [Action Network credentials](/integrations/builtin/credentials/actionne
For usage examples and templates to help you get started, take a look at n8n's [Action Network integrations](https://n8n.io/integrations/action-network/){:target="_blank" .external-link} list.
///
-## Basic operations
+## Operations
* Attendance
* Create
@@ -52,54 +50,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
* Get All
-## Example
-
-This workflow allows you to create a new event in Action Network, then create a new person and mark them as having attended your event. This workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [ActiveCampaign]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Action Network node
-
-1. First enter your credentials. You can find out how to do that [here](/integrations/builtin/credentials/actionnetwork/).
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select **Event** from the dropdown list.
- * **Operation**: Select **Create** from the dropdown list.
- * **Origin System**: Enter where this event originated. n8n.io in our example.
- * **Title**: Enter the name of your event, July Meetup in our example here.
-3. Enable the **Simple** toggle to return an easier to view response as opposed to the complete raw data.
-4. Use the **Additional Fields** to enter any further details about your event. Here we provided the Start Date.
-
-
-
-### 3. Action Network1 node
-
-1. First enter your credentials. You can find out how to do that [here](/integrations/builtin/credentials/actionnetwork/).
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select **Person** from the dropdown list.
- * **Operation**: Select **Create** from the dropdown list.
-3. Enable the **Simple** toggle to return an easier to view response as opposed to the complete raw data.
-4. In the **Email Address** section, enter the address and status for this person (here we Subscribe them).
-5. Use the **Additional Fields** to enter any further details about this person. Here we provided their given name.
-
-
-
-### 4. Action Network2 node
-
-1. First enter your credentials. You can find out how to do that [here](/integrations/builtin/credentials/actionnetwork/).
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select **Attendance** from the dropdown list.
- * **Operation**: Select **Create** from the dropdown list.
- * **Person ID**: Enter the ID for the person created by the previous node.
- * **Event ID**: Enter the ID for the event created in the first node.
-3. Enable the **Simple** toggle to return an easier to view response as opposed to the complete raw data.
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.activecampaign.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.activecampaign.md
index b50ae1d0a..dcaa67e6b 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.activecampaign.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.activecampaign.md
@@ -17,7 +17,7 @@ Refer to [ActiveCampaign credentials](/integrations/builtin/credentials/activeca
For usage examples and templates to help you get started, take a look at n8n's [ActiveCampaign integrations](https://n8n.io/integrations/activecampaign/){:target="_blank" .external-link} list.
///
-## Basic Operations
+## Operations
* Account
* Create an account
@@ -80,28 +80,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get data of all tags
* Update a tag
-## Example Usage
-
-This workflow allows you to create a contact in ActiveCampaign. You can also find the [workflow](https://n8n.io/workflows/412) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [ActiveCampaign]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. ActiveCampaign node
-
-1. First of all, you'll have to enter credentials for the ActiveCampaign node. You can find out how to do that [here](/integrations/builtin/credentials/activecampaign/).
-2. Enter the email of the contact in the *Email* field.
-3. Toggle the *Update if exists* option to yes.
-4. Under the *Additional Fields* section, click on the *Add Field* button and select *First Name*.
-5. Enter the first name of the contact in the *First Name* field.
-6. Click on *Add Field* again and select *Last Name*.
-7. Enter the last name of the contact in the *Last name* field.
-8. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.adalo.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.adalo.md
index 2ff5093ee..c24ff880a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.adalo.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.adalo.md
@@ -29,3 +29,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
Refer to [Adalo's documentation](https://help.adalo.com/){:target=_blank .external-link} for more information on using Adalo. Their [External Collections with APIs](https://help.adalo.com/integrations/external-collections-with-apis){:target=_blank .external-link} page gives more detail about what you can do with Adalo collections.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.affinity.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.affinity.md
index 0d5d9a2e8..1428c84f0 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.affinity.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.affinity.md
@@ -39,26 +39,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a person
* Get all persons
* Update a person
-
-
-## Example Usage
-
-This workflow allows you to create an organization in Affinity. You can also find the [workflow](https://n8n.io/workflows/476) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Affinity]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Affinity node
-
-1. First of all, you'll have to enter credentials for the Affinity node. You can find out how to do that [here](/integrations/builtin/credentials/affinity/).
-2. Enter the name of the organization in the *Name* field.
-3. Enter the domain name of the organization in the *Domain* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.agilecrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.agilecrm.md
index 0c9c6a9c8..9c9f003c0 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.agilecrm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.agilecrm.md
@@ -37,29 +37,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a deal
* Get all deals
* Update deal properties
-
-
-## Example Usage
-
-This workflow allows you to create a new contact in Agile CRM. You can also find the [workflow](https://n8n.io/workflows/474) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Agile CRM]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Agile CRM node
-
-1. First of all, you'll have to enter credentials for the Agile CRM node. You can find out how to do that [here](/integrations/builtin/credentials/agilecrm/).
-2. Select the 'Create' option from the *Operation* dropdown list.
-3. Under the *Additional Fields* section, click on the *Add Field* button and select *First Name*.
-5. Enter the first name of the contact in the *First Name* field.
-6. Click on *Add Field* again and select *Last Name*.
-7. Enter the last name of the contact in the *Last name* field.
-8. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.airtable.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.airtable.md
index a4e4e6fc1..d23167b94 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.airtable.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.airtable.md
@@ -35,6 +35,8 @@ View [example workflows and related content](https://n8n.io/integrations/airtabl
Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction){:target=_blank .external-link} for more information about the service.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
## Node reference
@@ -44,7 +46,7 @@ To fetch data for a particular record, you need the Record ID. There are two way
### Create a Record ID column in Airtable
-To create a `Record ID` column in your table, refer to this [article](https://support.airtable.com/hc/en-us/articles/360051564873-Record-ID). You can then use this Record ID in your Airtable node.
+To create a `Record ID` column in your table, refer to this [article](https://support.airtable.com/docs/finding-airtable-ids){:target=_blank .external-link}. You can then use this Record ID in your Airtable node.
### Use the List operation
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.apitemplateio.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.apitemplateio.md
index fcf952458..dc7a3e534 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.apitemplateio.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.apitemplateio.md
@@ -28,4 +28,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Create
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.asana.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.asana.md
index 45ec7d209..3106565ed 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.asana.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.asana.md
@@ -54,28 +54,5 @@ Due to changes in Asana's API, some operations in this node stopped working on 1
* Get a user
* Get all users
-## Example Usage
-
-This workflow allows you to create a new task in Asana. You can also find the [workflow](https://n8n.io/workflows/478) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Asana]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Asana node
-
-1. First of all, you'll have to enter credentials for the Asana node. You can find out how to do that [here](/integrations/builtin/credentials/asana/).
-2. Select your workspace from the *Workspace* dropdown list.
-3. Enter the name of the task in the *Name* field.
-4. Click on *Execute Node* to run the workflow.
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscertificatemanager.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscertificatemanager.md
index 90b340fd6..3ae88492f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscertificatemanager.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscertificatemanager.md
@@ -31,3 +31,5 @@ Refer to [AWS Certificate Manager's documentation](https://docs.aws.amazon.com/a
View [example workflows and related content](https://n8n.io/integrations/aws-certificate-manager/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscomprehend.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscomprehend.md
index 4d3fa9f1c..e50f74bff 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscomprehend.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awscomprehend.md
@@ -25,4 +25,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Analyse the sentiment of the text
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsdynamodb.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsdynamodb.md
index 8cff877e4..39513c0d6 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsdynamodb.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsdynamodb.md
@@ -28,3 +28,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get an item
* Get all items
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awselb.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awselb.md
index 756eb1a9e..49bb7c093 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awselb.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awselb.md
@@ -37,3 +37,5 @@ Refer to [AWS ELB's documentation](https://docs.aws.amazon.com/elasticloadbalanc
View [example workflows and related content](https://n8n.io/integrations/aws-elb/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awslambda.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awslambda.md
index c7825ba8a..81738ac21 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awslambda.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awslambda.md
@@ -22,23 +22,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Invoke a function
-## Example Usage
-
-This workflow allows you to invoke a function using AWS Lambda. You can also find the [workflow](https://n8n.io/workflows/510) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [AWS Lambda]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. AWS Lambda node
-
-1. First of all, you'll have to enter credentials for the AWS Lambda node. You can find out how to do that [here](/integrations/builtin/credentials/aws/).
-2. Select the function that you want to invoke from the *Function* dropdown list.
-3. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsrekognition.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsrekognition.md
index 744bbb258..68d1aaa60 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsrekognition.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsrekognition.md
@@ -25,3 +25,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Analyze
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awss3.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awss3.md
index 5dc12822c..f35b3cf3e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awss3.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awss3.md
@@ -37,28 +37,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Delete a folder
* Get all folders
-## Example Usage
-
-This workflow allows you to create a bucket on AWS S3. You can also find the [workflow](https://n8n.io/workflows/458) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [AWS S3]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. AWS S3 node
-
-1. First of all, you'll have to enter credentials for the AWS S3 node. You can find out how to do that [here](/integrations/builtin/credentials/aws/).
-2. Select 'Bucket' from the *Resource* dropdown list.
-3. Enter a name for your bucket in the *Name* field.
-4. Click on *Execute Node* to run the workflow.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsses.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsses.md
index 486674833..6574f48e9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsses.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awsses.md
@@ -37,30 +37,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all templates
* Update a template
-## Example Usage
-
-This workflow allows you to send an email using AWS SES. You can also find the [workflow](https://n8n.io/workflows/507) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [AWS SES]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. AWS SNS node
-
-1. First of all, you'll have to enter credentials for the AWS SES node. You can find out how to do that [here](/integrations/builtin/credentials/aws/).
-2. Enter a subject for your email in the *Subject* field.
-3. Enter your message in the *Body* field.
-4. Enter the email address from which you want to send the email in the *From Email* field.
-5. Click on the *Add To Email* button and add your recipient email addresses.
-6. Click on *Execute Node* to run the workflow.
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssns.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssns.md
index 2fa7a223f..1b424be69 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssns.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssns.md
@@ -22,25 +22,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Publish a message to a topic
-## Example Usage
-
-This workflow allows you to publish a message using AWS SNS. You can also find the [workflow](https://n8n.io/workflows/501) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [AWS SNS]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. AWS SNS node
-
-1. First of all, you'll have to enter credentials for the AWS SNS node. You can find out how to do that [here](/integrations/builtin/credentials/aws/).
-2. Select the topic in the *Topic* dropdown list. You can find instructions on how to create a new topic in AWS SNS [here](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-topic.html).
-3. Enter a subject for your message in the *Subject* field.
-4. Enter your message in the *Message* field.
-5. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssqs.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssqs.md
index 08516a2c0..95d79a3cb 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssqs.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awssqs.md
@@ -21,3 +21,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
## Operations
* Send a message to a queue.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstextract.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstextract.md
index 3ceb18354..5241cd593 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstextract.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstextract.md
@@ -23,3 +23,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
## Basic Operations
- Analyze Receipt or Invoice
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstranscribe.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstranscribe.md
index 68fdd63f5..ce22deeab 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstranscribe.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.awstranscribe.md
@@ -27,3 +27,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Get all transcriptions job
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.bannerbear.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.bannerbear.md
index f9197105b..946f2e206 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.bannerbear.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.bannerbear.md
@@ -27,31 +27,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Template
* Get a template
* Get all templates
-
-## Example Usage
-
-This workflow allows you to create an image using the Bannerbear welcome template. You can also find the [workflow](https://n8n.io/workflows/544) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Bannerbear]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Bannerbear node
-
-1. First of all, you'll have to enter credentials for the Bannerbear node. You can find out how to do that [here](/integrations/builtin/credentials/bannerbear/).
-2. Select 'Welcome Template' from the *Template ID* dropdown list.
-3. Click on the *Add Field* dropdown, select 'Wait for Image', and set the slider is set to 'on'.
-4. Click on the *Add Modification* button and select 'message' from the *Name* dropdown list.
-5. Enter the text in the *Text* field.
-6. Click on *Execute Node* to run the workflow.
-
-
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.beeminder.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.beeminder.md
index 59e0fe798..9cbeebab6 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.beeminder.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.beeminder.md
@@ -28,5 +28,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Update a data point
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.bitly.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.bitly.md
index 85ce62f43..cd71da4a1 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.bitly.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.bitly.md
@@ -26,23 +26,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a link
* Update a link
-## Example Usage
-This workflow shows you how to create a new link. You can also find the [workflow](https://n8n.io/workflows/442) on the website. This example usage workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Bitly]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Bitly node
-
-1. First of all, you'll have to enter credentials for the Bitly node. You can find out how to do that [here](/integrations/builtin/credentials/bitly/).
-2. Enter the URL in the *Long URL* field.
-3. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.box.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.box.md
index 7110a5b4a..c1b01068c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.box.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.box.md
@@ -36,24 +36,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Share a folder
* Update folder
-## Example Usage
-
-This workflow allows you to create a folder on Box. You can also find the [workflow](https://n8n.io/workflows/559) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Box]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Box node
-
-1. First of all, you'll have to enter credentials for the Box node. You can find out how to do that [here](/integrations/builtin/credentials/box/).
-2. Select the 'Folder' option from the *Resource* dropdown list.
-3. Enter the name of the folder in the *Name* field.
-4. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.brevo.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.brevo.md
index 78d96be00..809f0467e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.brevo.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.brevo.md
@@ -38,3 +38,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Delete
* Get All
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.chargebee.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.chargebee.md
index ca1b1c798..f9a58c63f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.chargebee.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.chargebee.md
@@ -29,28 +29,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Subscription
* Cancel a subscription
* Delete a subscription
-
-## Example Usage
-
-This workflow allows you to create a new customer in Chargebee. You can also find the [workflow](https://n8n.io/workflows/483) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Chargebee]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Chargebee node
-
-1. First of all, you'll have to enter credentials for the Chargebee node. You can find out how to do that [here](/integrations/builtin/credentials/chargebee/).
-2. Select the 'Customer' option from the *Resource* dropdown list.
-3. Under the *Properties* section, click on the *Add Property* button and select *First Name*.
-5. Enter the first name of the contact in the *First Name* field.
-6. Click on *Add Property* again and select *Last Name*.
-7. Enter the last name of the contact in the *Last name* field.
-8. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.circleci.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.circleci.md
index ff456c72d..82bb99a27 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.circleci.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.circleci.md
@@ -25,26 +25,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a pipeline
* Get all pipelines
* Trigger a pipeline
-
-## Example Usage
-
-This workflow allows you to get a pipeline in CircleCI. You can also find the [workflow](https://n8n.io/workflows/454) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [CircleCI]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. CircleCI node
-
-1. First of all, you'll have to enter credentials for the CircleCI node. You can find out how to do that [here](/integrations/builtin/credentials/circleci/).
-2. Select the VCS provider from the dropdown in the *Provider* field.
-3. Enter the project slug in the *Project Slug* field.
-4. Enter the number of the pipeline in CircleCI that you want to get in the *Pipeline Number* field.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.ciscowebex.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.ciscowebex.md
index f251f6dc6..763543351 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.ciscowebex.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.ciscowebex.md
@@ -35,25 +35,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
-## Example usage
-This workflow allows you to create a new meeting. This example usage workflow uses the following node:
-
-- [Webex by Cisco]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Webex by Cisco node
-
-1. First enter your credentials for node. You can find out how to do that [here](/integrations/builtin/credentials/ciscowebex/).
-2. Select 'Meeting' from the *Resource* dropdown list.
-3. Select 'Create' from the *Operation* dropdown list.
-4. Enter a *Title* for your new meeting.
-5. Select the *Start* and *End* times for the meeting.
-6. Optionally, use the *Additional Fields* menu to add further meeting details, for example an agenda, set the invitees, or a meeting recurrence.
-7. Click on *Execute Node* to run the workflow.
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixadc.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixadc.md
index 0462da543..c243124f7 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixadc.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixadc.md
@@ -33,3 +33,5 @@ Refer to [Citrix ADC's documentation](https://docs.citrix.com/en-us/citrix-adc/c
View [example workflows and related content](https://n8n.io/integrations/citrix-adc/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clearbit.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clearbit.md
index 5625d7a2d..3f286c5d7 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clearbit.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clearbit.md
@@ -24,25 +24,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Look up person and company data based on an email or domain
* Person
* Look up a person and company data based on an email or domain
-
-## Example Usage
-
-This workflow allows you to look up a person using their email in Clearbit. You can also find the [workflow](https://n8n.io/workflows/484) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Clearbit]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Clearbit node
-
-1. First of all, you'll have to enter credentials for the Clearbit node. You can find out how to do that [here](/integrations/builtin/credentials/clearbit/).
-2. Select the 'Person' option from the *Resource* dropdown list.
-3. Enter the email of the person you want to look up in the *Email* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clickup.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clickup.md
index 8e8916ae7..28d437d51 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clickup.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clickup.md
@@ -91,31 +91,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all time entry tags
* Remove tag from time entry
-## Example Usage
-
-This workflow allows you to create a task in ClickUp. You can also find the [workflow](https://n8n.io/workflows/485) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [ClickUp]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. ClickUp node
-
-1. First of all, you'll have to enter credentials for the ClickUp node. You can find out how to do that [here](/integrations/builtin/credentials/clickup/).
-2. Select your team ID from the *Team ID* dropdown list.
-3. Select your space ID from the *Space ID* dropdown list.
-4. Select your folder ID from the *Folder ID* dropdown list.
-5. Select your list ID from the *List ID* dropdown list.
-6. Enter the name of the task in the *Name* field.
-7. Click on *Execute Node* to run the workflow.
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clockify.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clockify.md
index 63f9d6efd..f306d0583 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.clockify.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.clockify.md
@@ -42,3 +42,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get time entry
* Update a time entry
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cloudflare.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cloudflare.md
index 50164fad9..140ce0e6a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cloudflare.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cloudflare.md
@@ -31,3 +31,5 @@ Refer to [Cloudflare's API documentation on zone-level authentication](https://a
View [example workflows and related content](https://n8n.io/integrations/cloudflare/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cockpit.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cockpit.md
index 1b3facc46..80b18e3b3 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cockpit.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cockpit.md
@@ -27,24 +27,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Store data from a form submission
* Singleton
* Get a singleton
-
-## Example Usage
-
-This workflow allows you to get entries from a collection in Cockpit. You can also find the [workflow](https://n8n.io/workflows/518) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Cockpit]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Cockpit node
-
-1. First of all, you'll have to enter credentials for the Cockpit node. You can find out how to do that [here](/integrations/builtin/credentials/cockpit/).
-2. Select your collection from the *Collection* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.contentful.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.contentful.md
index 7668468d7..e1862fdf9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.contentful.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.contentful.md
@@ -31,27 +31,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Space
* Get
-
-## Example Usage
-
-This workflow allows you to get all the entries using the Delivery API of Contentful. You can also find the [workflow](https://n8n.io/workflows/640) on n8n.io. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Contentful]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Contentful node
-
-1. First of all, you'll have to enter credentials for the Contentful node. You can find out how to do that [here](/integrations/builtin/credentials/contentful/).
-2. Select 'Get All' from the ***Operation*** dropdown list.
-3. Toggle ***Return All*** to true.
-4. Click on ***Test step*** to run the node.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cortex.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cortex.md
index cba089051..d9ecab42e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.cortex.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.cortex.md
@@ -29,4 +29,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Execute Responder
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.crowddev.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.crowddev.md
index bcffd99c0..0a6a00166 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.crowddev.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.crowddev.md
@@ -8,7 +8,7 @@ contentType: integration
Use the crowd.dev node to automate work in crowd.dev and integrate crowd.dev with other applications. n8n has built-in support for a wide range of crowd.dev features, which includes creating, updating, and deleting members, notes, organizations, and tasks.
-_On this page, you'll find a list of operations the crowd.dev node supports, and links to more resources._
+On this page, you'll find a list of operations the crowd.dev node supports, and links to more resources.
/// note | Credentials
You can find authentication information for this node [here](/integrations/builtin/credentials/crowddev/).
@@ -55,3 +55,6 @@ n8n provides a trigger node for crowd.dev. You can find the trigger node docs [h
View [example workflows and related content](https://n8n.io/integrations/crowddev/){:target=_blank .external-link} on n8n's website.
Refer to [crowd.dev's documentation](https://docs.crowd.dev/reference/getting-started-with-crowd-dev-api){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.customerio.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.customerio.md
index 6cc11e2b9..dee596bee 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.customerio.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.customerio.md
@@ -34,4 +34,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Remove Customer
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.deepl.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.deepl.md
index 29611335c..5dfd747ce 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.deepl.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.deepl.md
@@ -23,3 +23,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Language
* Translate data
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.discord.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.discord.md
index b33ed1397..c34513a38 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.discord.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.discord.md
@@ -44,3 +44,6 @@ View [example workflows and related content](https://n8n.io/integrations/discord
Refer to [Discord's documentation](https://discord.com/developers/docs/intro){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.discourse.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.discourse.md
index 227c5c70c..52d6d5509 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.discourse.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.discourse.md
@@ -42,3 +42,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Create a user to group
* Remove user from group
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.disqus.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.disqus.md
index cf8426e65..4555dfa12 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.disqus.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.disqus.md
@@ -24,24 +24,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Return a list of categories within a forum
* Return a list of threads within a forum
* Return a list of posts within a forum
-
-## Example Usage
-
-This workflow allows you to get details of a forum in Disqus. You can also find the [workflow](https://n8n.io/workflows/493) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Disqus]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Disqus node
-
-1. First of all, you'll have to enter credentials for the Disqus node. You can find out how to do that [here](/integrations/builtin/credentials/disqus/).
-2. Enter the name of the forum in the *Forum name* field. For example, I entered `hackernoon`.
-3. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.drift.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.drift.md
index 451efe0c0..666d6e081 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.drift.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.drift.md
@@ -26,23 +26,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a contact
* Update a contact
-## Example Usage
-
-This workflow allows you to create a contact in Drift. You can also find the [workflow](https://n8n.io/workflows/497) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Drift]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Drift node
-
-1. First of all, you'll have to enter credentials for the Drift node. You can find out how to do that [here](/integrations/builtin/credentials/drift/).
-2. Enter the email of the contact in the *Email* field.
-3. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropbox.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropbox.md
index 1b8160c3e..c9dd2cebd 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropbox.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropbox.md
@@ -35,3 +35,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Query
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropcontact.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropcontact.md
index 26753dd16..ab9093417 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropcontact.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.dropcontact.md
@@ -24,5 +24,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Fetch Request
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.elasticsearch.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.elasticsearch.md
index ef04ab5c9..3284b5aea 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.elasticsearch.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.elasticsearch.md
@@ -31,27 +31,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
* Get All
-## Example usage
-This workflow allows you to get all documents for a selected index. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Elasticsearch]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. Elasticsearch node
-
-1. First enter credentials for the Elasticsearch node. You can find out how to do that [here](/integrations/builtin/credentials/elasticsearch/).
-2. Select **Document** from the ***Resource*** dropdown.
-3. Select **Get All** from the ***Operation*** dropdown.
-3. Enter the ID of your desired index in the ***Index ID*** field.
-4. Click on ***Test step*** to run the node.
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.erpnext.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.erpnext.md
index fbf072de0..a64d90ec2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.erpnext.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.erpnext.md
@@ -27,3 +27,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Update a document
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.flow.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.flow.md
index 0c8fcbbd7..4a0a0644e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.flow.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.flow.md
@@ -24,25 +24,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Update a task
* Get a task
* Get all the tasks
-
-## Example Usage
-
-This workflow allows you to get all the tasks in Flow. You can also find the [workflow](https://n8n.io/workflows/506) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Flow]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Flow node
-
-1. First of all, you'll have to enter credentials for the Flow node. You can find out how to do that [here](/integrations/builtin/credentials/flow/).
-2. Select the 'Get All' option from the *Operation* dropdown list.
-3. Toggle the *Return All* slider to true.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshdesk.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshdesk.md
index 4ff860a87..a7f0f1538 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshdesk.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshdesk.md
@@ -31,26 +31,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a ticket
* Get all tickets
* Update a ticket
-
-## Example Usage
-
-This workflow allows you to create a ticket on Freshdesk. You can also find the [workflow](https://n8n.io/workflows/448) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Freshdesk]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Freshdesk node
-
-1. First of all, you'll have to enter credentials for the Freshdesk node. You can find out how to do that [here](/integrations/builtin/credentials/freshdesk/).
-2. Select 'Email' from the *Requester Identification* dropdown.
-3. Enter the requester email in the *Value* field.
-4. Select 'Open' from the *Status* Dropdown.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshservice.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshservice.md
index 6b99f9831..fe42204d6 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshservice.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshservice.md
@@ -106,29 +106,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve a ticket
* Retrieve all tickets
* Update a ticket
-
-## Example usage
-
-This workflow allows you to fetch all Tickets with an Urgent status in Freshservice. This example usage workflow would use the following two nodes:
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Freshservice]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Freshservice node
-
-1. First enter your credentials for the Freshservice node. You can find out how to do that [here](/integrations/builtin/credentials/freshservice/).
-2. Select **Ticket** from the *Resource* dropdown.
-3. Select **Get All** from the *Operation* dropdown.
-4. Enable the **Return All** toggle.
-5. From the *Add Filter* dropdown select **Priority**.
-6. From the new *Priority* dropdown select **Urgent**.
-5. Click on **Test step** to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshworkscrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshworkscrm.md
index fe6e8bb1d..11bd1d444 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshworkscrm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.freshworkscrm.md
@@ -57,28 +57,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all tasks
* Update a task
-## Example usage
-This workflow allows you to fetch all Contacts in Freshworks CRM that you have yet to contact. This example usage workflow would use the following two nodes:
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Freshworks CRM]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Freshworks CRM node
-
-1. First enter your credentials for the Freshworks CRM node. You can find out how to do that [here](/integrations/builtin/credentials/freshworkscrm/).
-2. Select **Contact** from the *Resource* dropdown.
-3. Select **Get All** from the *Operation* dropdown.
-4. Select **Never Contacted** from the *View* dropdown.
-5. Click on **Test step** to run the workflow.
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.getresponse.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.getresponse.md
index 8c03ee771..327e2ff8a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.getresponse.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.getresponse.md
@@ -28,3 +28,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Update contact properties
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.ghost.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.ghost.md
index 6440f2ddb..6bb3a1b56 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.ghost.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.ghost.md
@@ -36,3 +36,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Get all posts
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.github.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.github.md
index c56c0a32d..37ebde29d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.github.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.github.md
@@ -53,30 +53,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Returns the repositories of a user.
* Invites a user to an organization.
-## Example Usage
-
-This workflow allows you to get the community profile of a GitHub repository. You can also find the [workflow](https://n8n.io/workflows/450) on the website. This example usage workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [GitHub]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. GitHub node
-
-1. First of all, you'll have to enter credentials for the GitHub node. You can find out how to do that [here](/integrations/builtin/credentials/github/).
-2. Select the 'Repository' option under the *Resource* field.
-3. Select the 'Get Profile' option under the *Operation* field.
-4. Enter the repository owner in the *Repository Owner* field.
-5. Enter the repository name in the *Repository Name* field.
-6. Click on *Execute Node* to run the workflow.
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md
index e0d740094..9feaec69a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md
@@ -53,3 +53,5 @@ n8n provides a trigger node for GitLab. You can find the trigger node docs [here
View [example workflows and related content](https://n8n.io/integrations/gitlab/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gmail.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gmail.md
index 294419ed9..03324d107 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gmail.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gmail.md
@@ -58,4 +58,5 @@ n8n provides a trigger node for Gmail. You can find the trigger node docs [here]
View [example workflows and related content](https://n8n.io/integrations/gmail/){:target=_blank .external-link} on our website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleads.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleads.md
index 7d745a3e2..1ac82444c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleads.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleads.md
@@ -28,3 +28,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
View [example workflows and related content](https://n8n.io/integrations/google-ads/){:target=_blank .external-link} on n8n's website.
Refer to [Google Ads' documentation](https://developers.google.com/google-ads/api/docs/start){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics.md
index d5910c1f7..ad6ecd2bd 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleanalytics.md
@@ -31,3 +31,4 @@ Refer to [Google Analytics' documentation](https://developers.google.com/analyti
View [example workflows and related content](https://n8n.io/integrations/google-analytics/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebigquery.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebigquery.md
index 14c94ec02..4d1036890 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebigquery.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebigquery.md
@@ -28,3 +28,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
Refer to [Google BigQuery's documentation](https://cloud.google.com/bigquery/docs/reference/rest){:target=_blank .external-link} for more information about the service.
View [example workflows and related content](https://n8n.io/integrations/google-bigquery/){:target=_blank .external-link} on n8n's website.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebooks.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebooks.md
index 00305d146..ec9cbf79a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebooks.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlebooks.md
@@ -33,3 +33,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a volume resource based on ID
* Get all volumes filtered by query
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar.md
index 4e966d3b9..647fd9cde 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar.md
@@ -28,29 +28,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all events from a calendar
* Update an event
-## Example Usage
-
-This workflow allows you to add an event to Google Calendar. You can also find the [workflow](https://n8n.io/workflows/427) on the website. This example usage workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Google Calendar]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Google Calendar node
-
-1. First of all, you'll have to enter credentials for the Google Calendar node. You can find out how to do that [here](/integrations/builtin/credentials/google/).
-2. Select the *Calendar* from the dropdown list of the user's calendar list.
-3. Enter the start date of your event in the *Start* field.
-4. Enter the end date of your event in the *End* field.
-5. Click on *Execute Node* to run the workflow.
-
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudfirestore.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudfirestore.md
index 2ef8e992f..6e3ebf34e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudfirestore.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudfirestore.md
@@ -31,3 +31,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all root collections
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudnaturallanguage.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudnaturallanguage.md
index 4cf292c60..3f8a00c47 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudnaturallanguage.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudnaturallanguage.md
@@ -23,3 +23,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Analyze Sentiment
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudstorage.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudstorage.md
index 90d1f6bd4..18b372c61 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudstorage.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecloudstorage.md
@@ -35,3 +35,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
Refer to Google's [Cloud Storage API documentation](https://cloud.google.com/storage/docs/apis){:target=_blank .external-link} for detailed information about the API that this node integrates with.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecontacts.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecontacts.md
index 4a0312167..73198487e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecontacts.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecontacts.md
@@ -26,3 +26,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a contact
* Retrieve all contacts
* Update a contact
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledocs.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledocs.md
index 86e82ad0f..9e2945cb5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledocs.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledocs.md
@@ -24,3 +24,4 @@ Fo usage examples and templates to help you get started, take a look at n8n's [G
* Get
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledrive.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledrive.md
index 7dfa6375e..11891ecab 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledrive.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledrive.md
@@ -39,7 +39,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Share a folder
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleperspective.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleperspective.md
index 80a9f9ab6..1d1e47018 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleperspective.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleperspective.md
@@ -20,29 +20,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Analyze Comment
-## Example usage
-
-This workflow allows you to analyze a comment for profanity. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Google Perspective]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. Google Perspective node
-
-1. First enter credentials for the Google Perspective node. You can find out how to enter credentials for this node [here](/integrations/builtin/credentials/google/).
-2. The **Analyze Comment** ***Operation*** is selected by default.
-3. In the ***Text*** field enter the comment to be analyzed.
-4. From the ***Properties*** section click **Add Attribute**.
- * For ***Attribute Name*** select **Profanity**.
- * For ***Score Threshold*** leave the **0.00** default setting to return all scores.
-5. Click on **Test step** to run the workflow.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets.md
index ea8f14a15..aca54cbbb 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets.md
@@ -38,6 +38,8 @@ Refer to [Google Sheet's API documentation](https://developers.google.com/sheets
View [example workflows and related content](https://n8n.io/integrations/google-sheets/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
## Update operations
To update data in a sheet:
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleslides.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleslides.md
index 00f04d7aa..bd6975bf4 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleslides.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleslides.md
@@ -29,3 +29,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get presentation slides
* Replace text in a presentation
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletasks.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletasks.md
index eac8e7235..fe1f079c9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletasks.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletasks.md
@@ -26,24 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all tasks from a task list
* Update a task
-## Example Usage
-
-This workflow allows you to add a task to Google Tasks. You can also find the [workflow](https://n8n.io/workflows/428) on the website. This example usage workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Google Tasks]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Google Tasks node
-
-1. First of all, you'll have to enter credentials for the Google Tasks node. You can find out how to do that [here](/integrations/builtin/credentials/google/).
-2. Select the *TaskList* from the dropdown list of the user's task-lists where a new task needs to be added.
-3. Enter a title for the task in the *Title* field.
-4. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletranslate.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletranslate.md
index 1523244aa..dce855e18 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletranslate.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.googletranslate.md
@@ -22,31 +22,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Language
* Translate data
-## Example Usage
-
-This workflow allows you to translate text from English to German using the Google Translate node. You can also find the [workflow](https://n8n.io/workflows/743) on the website. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Google Translate]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Google Translate node (translate:language)
-
-This node will translate the text `Hello from n8n!` to German. You can enter a different text as well as select another language to translate the text to.
-
-1. Select 'OAuth2' from the ***Authentication*** dropdown list.
-2. Next, you'll have to enter credentials for the Google Translate node. You can find out how to enter credentials for this node [here](/integrations/builtin/credentials/google/).
-3. Enter the text `Hello from n8n!` in the ***Text*** field.
-4. Select 'DE' from the ***Translate To*** dropdown list. DE is the language code for German. You can refer to [Language Support](https://cloud.google.com/translate/docs/languages) to view the list of all supported languages and their corresponding language codes.
-5. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node translates the text `Hello from n8n!` to German.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gotowebinar.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gotowebinar.md
index bda8eea14..3192417e5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.gotowebinar.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.gotowebinar.md
@@ -47,3 +47,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
* Get All
* Update
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.grafana.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.grafana.md
index 13b22d52c..cf7b50f4f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.grafana.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.grafana.md
@@ -40,3 +40,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all users in the current organization
* Update a user in the current organization
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.grist.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.grist.md
index d2acf9a0c..fa0a4535f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.grist.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.grist.md
@@ -24,87 +24,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Read rows from a table
* Update rows in a table
-## Example usage
-
-This workflow allows you to insert and update data from a table in Grist. You can also find the [workflow](https://n8n.io/workflows/818) on n8n.io. This example usage workflow uses the following nodes:
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Grist]()
-
-The final workflow should look like the following:
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Grist node (Create)
-
-This workflow assumes there is a document with a table in your Grist workspace.
-
-
-
-This node will create a new record in a table.
-
-1. First enter your credentials for the Grist node. You can find out how to do that [here](/integrations/builtin/credentials/grist/).
-2. Select 'Create' from the ***Operation*** dropdown list.
-3. Enter that ID of your document into the ***Document ID*** field.
-4. Enter the ID of your table in the ***Table ID*** field.
-5. Under ***Fields to Send*** click the **Add Field** button twice.
-6. For the first field, choose **Name** from the ***Field ID*** dropdown, and type a name in the ***Field Value***.
-7. For the second field, choose `Link` from the ***Field ID*** dropdown, and enter a URL in the ***Field Value***.
-8. Click on **Test step** to run the node.
-
-Here is an example of how the configuration should look:
-
-
-
-And here's the result of adding the record to the Grist table:
-
-
-
-### 3. Grist1 node (Get All)
-
-This node will list all the records with a particular `Name` value.
-
-1. Select the credentials that you entered in the previous node.
-2. Select the 'Get All' option from the ***Operation*** dropdown list.
-3. Click on the gears icon next to the ***Document ID*** field and click on ***Add Expression***.
-4. Select the following in the ***Variable Selector*** section: **Nodes** > **Grist** > **Parameters** > **docId**.
-5. Click on the gears icon next to the ***Table*** field and click on ***Add Expression***.
-6. Select the following in the ***Variable Selector*** section: **Nodes** > **Grist** > **Parameters** > **tableId**.
-7. Click on ***Add Option*** and select 'Filter' from the dropdown list.
-8. Click the ***Add Filter*** button.
-9. Select `Name` from the **Column** dropdown.
-10. Type a name in the ***Values*** field.
-11. Click on ***Test step*** to run the node.
-
-In the screenshot below, the node only returned the record with the name 'Grist':
-
-
-
-### 4. Grist2 node (Update)
-
-This node will update the Name field of the record that we received from the previous Grist node.
-
-1. Select the ***Grist1*** node in your workflow and click 'Duplicate Node'. Now you won't need to specify the credentials, Document ID, and Table ID again.
-2. Double click the newly duplicated node (Grist2) to edit it.
-3. Select 'Update' from the ***Operation*** dropdown list.
-4. Click on the gears icon next to the ***Row ID*** field and click on ***Add Expression***.
-5. Select the following in the ***Variable Selector*** section: **Nodes** > **Grist1** > **Output Data** > **JSON** > **id**.
-6. Under ***Fields to Send*** click the ***Add Field*** button.
-7. Choose `Name` from the ***Field ID*** dropdown, and type a name in the ***Field Value***.
-8. Click on ***Test step*** to run the node.
-
-Here is an example of how the configuration should look:
-
-
-
-The result is that the Name in the first record changed from 'Grist' to 'Grist Labs':
-
-
-
## FAQs
### How to get the Row ID?
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hackernews.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hackernews.md
index b703a7067..f1e4ffd10 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hackernews.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hackernews.md
@@ -25,27 +25,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a Hacker News article
* User
* Get a Hacker News user
-
-## Example Usage
-
-This workflow allows you to get articles from Hacker News. You can also find the [workflow](https://n8n.io/workflows/525) on this website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Hacker News]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Hacker News node
-
-1. Select the 'All' option from the *Resource* dropdown list.
-2. Click on *Execute Node* to run the workflow.
-
-
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.harvest.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.harvest.md
index c511324cf..77d448e69 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.harvest.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.harvest.md
@@ -81,25 +81,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get data of authenticated user
* Update a user
-## Example Usage
-
-This workflow allows you to create a client in Harvest. You can also find the [workflow](https://n8n.io/workflows/494) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Harvest]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Harvest node
-
-1. First of all, you'll have to enter credentials for the Harvest node. You can find out how to do that [here](/integrations/builtin/credentials/harvest/).
-2. Select the 'Client' option from the *Resource* dropdown list.
-3. Select the 'Create' option from the *Operation* dropdown list.
-4. Enter the name of the client in the *Name* field.
-5. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.helpscout.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.helpscout.md
index 08bc27d69..d39d34983 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.helpscout.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.helpscout.md
@@ -39,24 +39,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Create a new chat thread
* Get all chat threads
-## Example Usage
-
-This workflow allows you to get all mailboxes from Help Scout. You can also find the [workflow](https://n8n.io/workflows/567) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Help Scout]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Help Scout node
-
-1. First of all, you'll have to enter credentials for the Help Scout node. You can find out how to do that [here](/integrations/builtin/credentials/helpscout/).
-2. Select the 'Mailbox' option from the *Resource* dropdown list.
-3. Select the 'Get All' option from the *Operation* dropdown list.
-4. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.highlevel.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.highlevel.md
index 33f51b4c9..200644d88 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.highlevel.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.highlevel.md
@@ -47,3 +47,4 @@ HighLevel has [API documentation and support forums](https://help.gohighlevel.co
* Get All
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hubspot.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hubspot.md
index f5b2bd0f1..e52ee3129 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hubspot.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hubspot.md
@@ -62,29 +62,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all tickets
* Update a ticket
-## Example Usage
-
-This workflow allows you to retrieve a contact from HubSpot. You can also find the [workflow](https://n8n.io/workflows/466) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [HubSpot]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. HubSpot node
-
-1. First of all, you'll have to enter credentials for the HubSpot node. You can find out how to do that [here](/integrations/builtin/credentials/hubspot/).
-2. Select the 'Contact' option under the *Resource* field.
-3. Select the 'Get' option under the *Operation* field.
-4. Enter the contact ID under the *Contact ID* field.
-3. Click on *Execute Node* to run the workflow.
-
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hunter.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hunter.md
index 4a09c3920..341f72347 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.hunter.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.hunter.md
@@ -22,26 +22,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get every email address found on the internet using a given domain name, with sources
* Generate or retrieve the most likely email address from a domain name, a first name and a last name
* Verify the deliverability of an email address
-
-
-## Example Usage
-
-This workflow allows you to verify the deliverability of an email address using Hunter. You can also find the [workflow](https://n8n.io/workflows/519) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Hunter]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Hunter node
-
-1. First of all, you'll have to enter credentials for the Hunter node. You can find out how to do that [here](/integrations/builtin/credentials/hunter/).
-2. Select 'Email Verifier' from the *Operation* dropdown list.
-3. Enter the email in the *Email* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.intercom.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.intercom.md
index f8c159128..c88ad7093 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.intercom.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.intercom.md
@@ -37,25 +37,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get data of a user
* Get data of all users
* Update a user
-
-## Example Usage
-
-This workflow allows you to create a new user in Intercom. You can also find the [workflow](https://n8n.io/workflows/464) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Intercom]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Intercom node
-
-1. First of all, you'll have to enter credentials for the Intercom node. You can find out how to do that [here](/integrations/builtin/credentials/intercom/).
-2. Select 'Email' from the dropdown list for the *Identifier Type* field.
-3. Enter the email in the *Value* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.invoiceninja.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.invoiceninja.md
index ffd5e8373..93e27d9a8 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.invoiceninja.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.invoiceninja.md
@@ -52,24 +52,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get data of a task
* Get data of all tasks
-## Example Usage
-
-This workflow allows you to get multiple clients' data from Invoice Ninja. You can also find the [workflow](https://n8n.io/workflows/534) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Invoice Ninja]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Invoice Ninja node
-
-1. First of all, you'll have to enter credentials for the Invoice Ninja node. You can find out how to do that [here](/integrations/builtin/credentials/invoiceninja/).
-2. Select the 'Get All' option from the *Operation* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.jira.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.jira.md
index 2f3e20597..4e60c3bb7 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.jira.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.jira.md
@@ -44,27 +44,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Delete a user.
* Retrieve a user.
-## Example Usage
-
-This workflow allows you to create a new issue in Jira. You can also find the [workflow](https://n8n.io/workflows/459) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Jira]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Jira node
-
-1. First of all, you'll have to enter credentials for the Jira node. You can find out how to do that [here](/integrations/builtin/credentials/jira/).
-2. Select your project from the dropdown list for the *Project* field.
-3. Select an issue type from the dropdown list for the *Issue Type* field.
-4. Enter the summary of the issue in the *Summary* field.
-5. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
## FAQs
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.keap.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.keap.md
index d61902c56..3bf828e37 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.keap.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.keap.md
@@ -57,24 +57,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all files
* Upload a file
-## Example Usage
-
-This workflow allows you to get all contacts from Keap. You can also find the [workflow](https://n8n.io/workflows/553) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Keap]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Keap node
-
-1. First of all, you'll have to enter credentials for the Keap node. You can find out how to do that [here](/integrations/builtin/credentials/keap/).
-2. Select the 'Contact' option from the *Resource* dropdown list.
-3. Select the 'Get All' option from the *Operation* dropdown list.
-4. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.kobotoolbox.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.kobotoolbox.md
index f5358442f..0b845a226 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.kobotoolbox.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.kobotoolbox.md
@@ -180,3 +180,5 @@ With reformatting enabled, and the appropriate masks for multi-select and number
}
```
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.lemlist.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.lemlist.md
index b9d159d05..eaeb45d87 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.lemlist.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.lemlist.md
@@ -36,3 +36,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.line.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.line.md
index 30706d363..359b86e3c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.line.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.line.md
@@ -21,3 +21,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Notification
* Sends notifications to users or groups
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.linear.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.linear.md
index 0a9cff349..7d43c6240 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.linear.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.linear.md
@@ -25,3 +25,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.linkedin.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.linkedin.md
index 9a8067f2b..cc560daf5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.linkedin.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.linkedin.md
@@ -42,6 +42,6 @@ View [example workflows and related content](https://n8n.io/integrations/linkedi
Refer to [LinkedIn's API documentation](https://learn.microsoft.com/en-us/linkedin/){:target=_blank .external-link} for more information about the service.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.lonescale.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.lonescale.md
index 0ca455ece..92e7df87b 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.lonescale.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.lonescale.md
@@ -30,3 +30,5 @@ Refer to [LoneScales documentation](https://help-center.lonescale.com/en/article
n8n provides a trigger node for LoneScale. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.lonescaletrigger/).
View [example workflows and related content](https://n8n.io/integrations/lonescaletrigger/){:target=_blank .external-link} on n8n's website.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.magento2.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.magento2.md
index e666bf216..693839e28 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.magento2.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.magento2.md
@@ -39,3 +39,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all products
* Update a product
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailchimp.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailchimp.md
index 40f71f584..2c2a6b913 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailchimp.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailchimp.md
@@ -38,26 +38,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Add tags from a list member
* Remove tags from a list member
-## Example Usage
-
-This workflow allows you to add a new member to a list in Mailchimp. You can also find the [workflow](https://n8n.io/workflows/413) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mailchimp]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Mailchimp node
-
-1. First of all, you'll have to enter credentials for the Mailchimp node. You can find out how to do that [here](/integrations/builtin/credentials/mailchimp/).
-4. Select the Mailchimp list from the *List* dropdown list.
-5. Enter the email address in the *Email* field.
-6. Select the status from the *Status* dropdown list.
-8. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailgun.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailgun.md
index bca4969f0..f8edbd835 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailgun.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailgun.md
@@ -21,27 +21,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Send an email
-## Example Usage
-
-This workflow allows you to send an email using Mailgun. You can also find the [workflow](https://n8n.io/workflows/522) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mailgun]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Mailgun node
-
-1. First of all, you'll have to enter credentials for the Mailgun node. You can find out how to do that [here](/integrations/builtin/credentials/mailgun/).
-2. Enter the email address from which you want to send the email in the *From Email* field.
-3. Enter the recipient email in the *To Email* field.
-4. Enter the subject for the email in the *Subject* field.
-5. Enter the content of the email in the *Text* field.
-6. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailjet.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailjet.md
index 20b500028..86e13f1f1 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailjet.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mailjet.md
@@ -25,27 +25,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* SMS
* Send an SMS
-## Example Usage
-
-This workflow allows you to send an email using Mailjet. You can also find the [workflow](https://n8n.io/workflows/520) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mailjet]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Mailjet node
-
-1. First of all, you'll have to enter credentials for the Mailjet node. You can find out how to do that [here](/integrations/builtin/credentials/mailjet/).
-2. Enter the email address from which you want to send the email in the *From Email* field.
-3. Enter the recipient email address in the *To Email* field.
-4. Enter the subject for the email in the *Subject* field.
-5. Enter the content of the email in the *Text* field.
-6. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mandrill.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mandrill.md
index afd831517..a798e1afd 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mandrill.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mandrill.md
@@ -22,31 +22,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Message
* Send message based on template.
* Send message based on HTML.
-
-## Example Usage
-
-This workflow allows you to send an email using a template using Mandrill. You can also find the [workflow](https://n8n.io/workflows/571) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mandrill]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Mandrill node
-
-1. First of all, you'll have to enter credentials for the Mandrill node. You can find out how to do that [here](/integrations/builtin/credentials/mandrill/).
-2. Select the template you would like to use from the *Template* dropdown list.
-3. Enter the email address from which you want to send the email in the *From Email* field.
-4. Enter the recipient email address in the *To Email* field.
-5. Click on *Execute Node* to run the workflow.
-
-
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.marketstack.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.marketstack.md
index df5a2b03e..617f66869 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.marketstack.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.marketstack.md
@@ -25,31 +25,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
* Ticker
* Get
-
-## Example usage
-
-This workflow allows you to get the past week's end of day data for a desired stock symbol. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [marketstack]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. marketstack node
-
-1. First enter your credentials for the marketstack node. You can find out how to do that [here](/integrations/builtin/credentials/marketstack/).
-2. Select **End-of-Day Data** from the *Resource* dropdown.
-3. The **Get All** *Operation* is selected by default.
-4. Enter your desired ticker symbol, `AI` in our example.
-5. Click the **Add Filter** button and select **Timeframe Start Date > A Week Ago**.
-6. Click the **Add Filter** button and select **Timeframe End Date > Today**.
-3. Click on **Test step** to run the workflow.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mattermost.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mattermost.md
index ec4ead7d3..5434978a0 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mattermost.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mattermost.md
@@ -51,6 +51,8 @@ Refer to [Mattermost's documentation](https://api.mattermost.com/){:target=_blan
View [example workflows and related content](https://n8n.io/integrations/mattermost/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
## Channel ID field error
If you're not the System Administrator, you might get an error: **there was a problem loading the parameter options from server: "Mattermost error response: You do not have the appropriate permissions.** next to the **Channel ID** field.
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mautic.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mautic.md
index 362e6e127..2a83f6a69 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mautic.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mautic.md
@@ -46,28 +46,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Segment Email
* Send
-## Example Usage
-
-This workflow allows you to get all contacts from Mautic. You can also find the [workflow](https://n8n.io/workflows/549) on the website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mautic]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Mautic node
-
-1. First of all, you'll have to enter credentials for the Mautic node. You can find out how to do that [here](/integrations/builtin/credentials/mautic/).
-2. Select 'Get All' from the *Operation* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.medium.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.medium.md
index 8c82d0075..1bfad9137 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.medium.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.medium.md
@@ -24,7 +24,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Publication
* Get all publications
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.messagebird.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.messagebird.md
index ba6350a98..754e64599 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.messagebird.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.messagebird.md
@@ -23,26 +23,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Send text messages (SMS)
* Balance
* Get the balance
-
-## Example Usage
-
-This workflow allows you to send an SMS with MessageBird. You can also find the [workflow](https://n8n.io/workflows/455) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [MessageBird]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. MessageBird node
-
-1. First of all, you'll have to enter credentials for the MessageBird node. You can find out how to do that [here](/integrations/builtin/credentials/messagebird/).
-2. Enter the phone number from which you'll be sending the message in the *From* field.
-3. Enter the phone number to which you'll be sending the message in the *To* field.
-4. Enter you message in the *Message* field.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.metabase.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.metabase.md
index f5c860e8b..4dd3566f2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.metabase.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.metabase.md
@@ -17,7 +17,7 @@ Refer to [Metabase credentials](/integrations/builtin/credentials/metabase/) for
For usage examples and templates to help you get started, take a look at n8n's [Metabase integrations](https://n8n.io/integrations/metabase/){:target="_blank" .external-link} list.
///
-## Resources and operations
+## operations
* Alert
* Get
@@ -34,3 +34,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Result Data
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftdynamicscrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftdynamicscrm.md
index 3e71bdabb..e64c6514c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftdynamicscrm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftdynamicscrm.md
@@ -27,3 +27,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftexcel.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftexcel.md
index 6d7d49cd9..b1d62dbb5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftexcel.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftexcel.md
@@ -32,23 +32,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all worksheets
* Get worksheet content
-## Example Usage
-
-This workflow allows you to get information about all workbooks from Microsoft Excel. You can also find the [workflow](https://n8n.io/workflows/566) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Microsoft Excel]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Microsoft Excel node
-
-1. First of all, you'll have to enter credentials for the Microsoft Excel node. You can find out how to do that [here](/integrations/builtin/credentials/microsoft/).
-2. Select the 'Get All' option from the *Operation* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftgraphsecurity.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftgraphsecurity.md
index c16b2e165..a77ab1f3a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftgraphsecurity.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftgraphsecurity.md
@@ -28,3 +28,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftoutlook.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftoutlook.md
index daf3441c2..3b6ff778c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftoutlook.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftoutlook.md
@@ -72,3 +72,4 @@ View [example workflows and related content](https://n8n.io/integrations/microso
Refer to [Outlook's API documentation](https://learn.microsoft.com/en-us/outlook/rest/get-started){:target=_blank .external-link} for more information about the service.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftsql.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftsql.md
index 9e9c20fdb..f7a5071d2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftsql.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftsql.md
@@ -23,26 +23,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Insert rows in database
* Update rows in database
* Delete rows in database
-
-
-## Example Usage
-
-This workflow allows you to execute an SQL query in Microsoft SQL. You can also find the [workflow](https://n8n.io/workflows/479) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Microsoft SQL]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Microsoft SQL node
-
-1. First of all, you'll have to enter credentials for the Microsoft SQL node. You can find out how to do that [here](/integrations/builtin/credentials/microsoftsql/).
-2. Select 'Execute Query' from the *Operation* dropdown list.
-3. Enter your SQL query in the *Query* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftteams.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftteams.md
index 236463606..4e0e14d58 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftteams.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsoftteams.md
@@ -13,26 +13,38 @@ On this page, you'll find a list of operations the Microsoft Teams node supports
/// note | Credentials
Refer to [Microsoft credentials](/integrations/builtin/credentials/microsoft/) for guidance on setting up authentication.
///
+
/// note | Examples and templates
For usage examples and templates to help you get started, take a look at n8n's [Microsoft Teams integrations](https://n8n.io/integrations/microsoft-teams/){:target="_blank" .external-link} list.
///
-## Basic Operations
+## Operations
* Channel
- * Create a channel
- * Delete a channel
- * Get a channel
- * Get all channels
- * Update a channel
-* Channel Message (Beta)
- * Create a message
- * Get all messages
+ * Create
+ * Delete
+ * Get
+ * Get Many
+ * Update
+* Channel Message
+ * Create
+ * Get Many
+* Chat Message
+ * Create
+ * Get
+ * Get Many
* Task
- * Create a task
- * Delete a task
- * Get a task
- * Get all tasks
- * Update a task
+ * Create
+ * Delete
+ * Get
+ * Get Many
+ * Update
+## Related resources
+
+View [example workflows and related content](https://n8n.io/integrations/microsoft-teams/){:target=_blank .external-link} on n8n's website.
+
+Refer to [Microsoft Teams' API documentation](https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsofttodo.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsofttodo.md
index ea83649e9..808b5424a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsofttodo.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.microsofttodo.md
@@ -39,3 +39,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mindee.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mindee.md
index 30419119c..3c85c4e5a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mindee.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mindee.md
@@ -27,7 +27,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Predict
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.misp.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.misp.md
index 9e50b805e..421e32e52 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.misp.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.misp.md
@@ -72,3 +72,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
* Get All
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mocean.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mocean.md
index 373ccf545..6efe131f8 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mocean.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mocean.md
@@ -24,30 +24,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Send SMS/Voice message
* Voice
* Send SMS/Voice message
-
-
-## Example Usage
-
-This workflow allows you to send an SMS using the Mocean node. You can also find the [workflow](https://n8n.io/workflows/667) on n8n.io. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Mocean]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-
-### 2. Mocean node
-
-1. First of all, you'll have to enter credentials for the Mocean node. You can find out how to do that [here](/integrations/builtin/credentials/mocean/).
-2. Enter the sender ID in the ***From*** field.
-3. Enter the receivers' number in the ***To*** field.
-4. Enter the message in the ***Message*** field.
-5. Click on ***Test step*** to run the node.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mondaycom.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mondaycom.md
index 603e3c97c..965a70f90 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mondaycom.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mondaycom.md
@@ -47,24 +47,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get items by column value
* Move item to group
-## Example Usage
-
-This workflow allows you to get a board from monday.com. You can also find the [workflow](https://n8n.io/workflows/556) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [monday.com]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. monday.com node
-
-1. First of all, you'll have to enter credentials for the monday.com node. You can find out how to do that [here](/integrations/builtin/credentials/mondaycom/).
-2. Select the 'Get' option from the *Operation* dropdown list.
-3. Select the board you want to get from the *Board ID* dropdown list.
-4. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.monicacrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.monicacrm.md
index abe104751..99d74bab1 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.monicacrm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.monicacrm.md
@@ -84,30 +84,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve a task
* Retrieve all tasks
* Update a task
-
-
-## Example usage
-
-This workflow allows you to create a new contact in Monica CRM. This example usage workflow would use the following three nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Monica CRM]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Monica CRM node
-
-1. First enter your credentials for the Monica CRM node. You can find out how to do that [here](/integrations/builtin/credentials/monicacrm/).
-2. Select *Contact* from the *Resource* dropdown list.
-3. Select *Create* from the *Operation* dropdown list.
-3. Enter the *First Name* of your new contact.
-4. Enter the *Gender* of your new contact using the dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mqtt.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mqtt.md
index b92a59fab..0e06be5f8 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.mqtt.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.mqtt.md
@@ -13,6 +13,21 @@ On this page, you'll find a list of operations the MQTT node supports and links
/// note | Credentials
Refer to [MQTT credentials](/integrations/builtin/credentials/mqtt/) for guidance on setting up authentication.
///
+
/// note | Examples and templates
For usage examples and templates to help you get started, take a look at n8n's [MQTT integrations](https://n8n.io/integrations/mqtt/){:target="_blank" .external-link} list.
///
+
+## Operations
+
+Use the MQTT node to send a message. You can set the message topic, and choose whether to send the node input data as part of the message.
+
+## Related resources
+
+n8n provides a trigger node for MQTT. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger/).
+
+
+View [example workflows and related content](https://n8n.io/integrations/mqtt/){:target=_blank .external-link} on n8n's website.
+
+
+Refer to [MQTT's documentation](https://mqtt.org/getting-started/){:target=_blank .external-link} for more information about the service.
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.msg91.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.msg91.md
index 1631ddb94..b06febbb2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.msg91.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.msg91.md
@@ -22,29 +22,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
* SMS
* Send SMS
-## Example Usage
-
-This workflow allows you to send an SMS using MSG91. You can also find the [workflow](https://n8n.io/workflows/511) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [MSG91]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. MSG91 node
-
-1. First of all, you'll have to enter credentials for the MSG91 node. You can find out how to do that [here](/integrations/builtin/credentials/msg91/).
-2. Enter the sender ID in the *Sender ID* field. You can find instructions on how to obtain the sender ID in the FAQs below.
-3. Enter the phone number to which you'll be sending the message in the *To* field.
-4. Enter you message in the *Message* field.
-5. Click on *Execute Node* to run the workflow.
-
-
## FAQs
### How do I find my Sender ID?
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.nextcloud.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.nextcloud.md
index d888b79d6..42252da0e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.nextcloud.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.nextcloud.md
@@ -41,4 +41,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Edit attributes related to a user.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.nocodb.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.nocodb.md
index 10a942282..efb2cd09d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.nocodb.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.nocodb.md
@@ -33,3 +33,4 @@ Refer to [NocoDB's documentation](https://docs.nocodb.com/){:target=_blank .exte
View [example workflows and related content](https://n8n.io/integrations/nocodb/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.notion.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.notion.md
index c1400149a..036c61804 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.notion.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.notion.md
@@ -48,5 +48,5 @@ View [example workflows and related content](https://n8n.io/integrations/notion-
Refer to [Notion's documentation](https://developers.notion.com/){:target=_blank .external-link} for details about their API.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.npm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.npm.md
index 3656fe9f3..5f0875567 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.npm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.npm.md
@@ -30,3 +30,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
## Related resources
View [example workflows and related content](https://n8n.io/integrations/npm/){:target=_blank .external-link} on n8n's website.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.openweathermap.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.openweathermap.md
index 6047e60f7..c5be8931e 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.openweathermap.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.openweathermap.md
@@ -21,29 +21,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Returns the current weather data
* Returns the weather data for the next 5 days
-
-## Example Usage
-
-This workflow allows you to get the current weather data for a city. You can also find the [workflow](https://n8n.io/workflows/460) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [OpenWeatherMap]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. OpenWeatherMap node
-
-1. First of all, you'll have to enter credentials for the OpenWeatherMap node. You can find out how to do that [here](/integrations/builtin/credentials/openweathermap/).
-2. Enter the name of the city in the *City* field.
-3. Click on *Execute Node* to run the workflow.
-
-
-
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty.md
index 2bf76f5e1..5d89cc469 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty.md
@@ -35,6 +35,6 @@ For usage examples and templates to help you get started, take a look at n8n's [
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.paypal.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.paypal.md
index 95510cda9..dd1aeb16f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.paypal.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.paypal.md
@@ -25,24 +25,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Payout Item
* Cancels an unclaimed payout item
* Show payout item details
-
-## Example Usage
-
-This workflow shows you how to create a PayPal batch payout. You can also find the [workflow](https://n8n.io/workflows/438) on this website. This example usage workflow uses the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [PayPal]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. PayPal node
-
-1. First of all, you'll have to enter credentials for the PayPal node. You can find out how to do that [here](/integrations/builtin/credentials/paypal/).
-2. Enter an ID in the *Sender Batch ID* field.
-3. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.phantombuster.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.phantombuster.md
index 82903dd93..ba773cbc7 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.phantombuster.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.phantombuster.md
@@ -26,4 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Add an agent to the launch queue.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.philipshue.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.philipshue.md
index 63b95b18e..21a4fd13a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.philipshue.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.philipshue.md
@@ -26,5 +26,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Update a light
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive.md
index da5dc6ce7..095ef66f4 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pipedrive.md
@@ -74,23 +74,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Product
* Get data of all products
-## Example Usage
-
-This workflow allows you to create an deal in Pipedrive. You can also find the [workflow](https://n8n.io/workflows/489) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Pipedrive]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Pipedrive node
-
-1. First of all, you'll have to enter credentials for the Pipedrive node. You can find out how to do that [here](/integrations/builtin/credentials/pipedrive/).
-2. Enter the title of the deal in the *Title* field.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushbullet.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushbullet.md
index 024528405..ce8fd43b9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushbullet.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushbullet.md
@@ -25,3 +25,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all pushes
* Update a push
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushover.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushover.md
index 5889b82f2..bb379be5d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushover.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.pushover.md
@@ -23,3 +23,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Push
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.quickbooks.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.quickbooks.md
index e926eb941..00de6f357 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.quickbooks.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.quickbooks.md
@@ -72,74 +72,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
-## Example Usage
-
-This workflow allows you to create a customer and an invoice, and send the invoice to the customer. You can also find the [workflow](https://n8n.io/workflows/949) on n8n.io. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [QuickBooks]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. QuickBooks node (create:customer)
-
-This node will create a new customer in QuickBooks.
-
-1. First of all, you'll have to enter credentials for the QuickBooks node. You can find out how to do that [here](/integrations/builtin/credentials/quickbooks/).
-2. Select 'Create' from the ***Operation*** dropdown list.
-3. Enter a display name in the ***Display Name*** field.
-4. Click on the ***Add Field*** button and select 'Primary Email Address'.
-5. Enter the email address of the customer in the ***Primary Email Address*** field.
-6. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node creates a new customer.
-
-
-
-### 3. QuickBooks1 node (create:invoice)
-
-This node will create an invoice for the customer that we created in the previous node.
-
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Invoice' from the ***Resource*** dropdown list.
-3. Select 'Create' from the ***Operation*** dropdown list.
-4. Click on the gears icon next to the ***For Customer*** field and click on ***Add Expression***.
-5. Select the following in the ***Variable Selector*** section: Current Node > Input Data > JSON > Id. You can also add the following expression: `{{$json["Id"]}}`.
-6. Click on the ***Add Item*** button.
-7. Select 'Item' from the ***Add Line Item Property*** dropdown list.
-8. Select an item from the ***Item*** dropdown list.
-9. Select 'Amount' from the ***Add Line Item Property*** dropdown list.
-10. Enter an amount in the ***Amount*** field.
-11. Select 'Detail Type' from the ***Add Line Item Property*** dropdown list.
-12. Select a type from the ***Detail Type*** dropdown list.
-13. Select 'Description' from the ***Add Line Item Property*** dropdown list.
-14. Enter a description in the ***Description*** field.
-15. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node creates an invoice for the customer that we created in the previous node.
-
-
-
-### 4. QuickBooks2 node (send:invoice)
-
-This node will send the invoice that we created in the previous node.
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Invoice' from the ***Resource*** dropdown list.
-3. Select 'Send' from the ***Operation*** dropdown list.
-4. Click on the gears icon next to the ***Invoice ID*** field and click on ***Add Expression***.
-5. Select the following in the ***Variable Selector*** section: Current Node > Input Data > JSON > Id. You can also add the following expression: `{{$json["Id"]}}`.
-6. Enter the email address of the customer in the ***Email*** field.
-7. Click on ***Test step*** to run the node.
-
-
-In the screenshot below, you will notice that the node sends the invoice to the customer.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.raindrop.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.raindrop.md
index a63c54a22..1426fefe2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.raindrop.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.raindrop.md
@@ -38,3 +38,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.reddit.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.reddit.md
index c4acfaac1..2993654e8 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.reddit.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.reddit.md
@@ -38,3 +38,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* User
* Get
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.rocketchat.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.rocketchat.md
index 3b3d6b5d3..192588213 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.rocketchat.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.rocketchat.md
@@ -23,7 +23,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Post a message to a channel or a direct message
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.rundeck.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.rundeck.md
index 070c03b4d..ca809f8ef 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.rundeck.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.rundeck.md
@@ -23,27 +23,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Execute a job
- Get metadata of a job
-
-## Example Usage
-
-This workflow allows you to execute a job on Rundeck. You can also find the [workflow](https://n8n.io/workflows/539) on this website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Rundeck]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Rundeck node
-
-1. First of all, you'll have to enter credentials for the Rundeck node. You can find out how to do that [here](/integrations/builtin/credentials/rundeck/).
-2. Enter your Rundeck job ID in the *Job Id* field. You can find instructions on how to obtain the job ID in the FAQs below.
-3. Click on *Execute Node* to run the workflow.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
## FAQs
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesforce.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesforce.md
index cc8371576..ea9bd39f1 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesforce.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesforce.md
@@ -97,6 +97,8 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a user
* Get all users
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
## Working with Salesforce custom fields
To add custom fields to your request:
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesmate.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesmate.md
index f9c5620ce..59d65c897 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesmate.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.salesmate.md
@@ -37,26 +37,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a deal
* Get all deals
* Update a deal
-
-## Example Usage
-
-This workflow allows you to create a company in Salesmate. You can also find the [workflow](https://n8n.io/workflows/500) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Salesmate]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Salesmate node
-
-1. First of all, you'll have to enter credentials for the Salesmate node. You can find out how to do that [here](/integrations/builtin/credentials/salesmate/).
-2. Select the 'Company' option from the *Resource* dropdown list.
-3. Enter the name of the company in the *Name* field.
-4. Select the owner from the *Owner* dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.segment.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.segment.md
index 835a39d89..1a181194f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.segment.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.segment.md
@@ -27,25 +27,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Record the actions your users perform. Every action triggers an event, which can also have associated properties.
* Record page views on your website, along with optional extra information about the page being viewed.
-## Example Usage
-
-This workflow allows you to track an event in Segment. You can also find the [workflow](https://n8n.io/workflows/495) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Segment]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Segment node
-
-1. First of all, you'll have to enter credentials for the Segment node. You can find out how to do that [here](/integrations/builtin/credentials/segment/).
-2. Select the 'Track' option from the *Resource* dropdown list.
-3. Enter the ID of the user in the *User ID* field.
-4. Enter the name of event in the *Event* field.
-5. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sendgrid.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sendgrid.md
index c81f56bfa..a467abb16 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sendgrid.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sendgrid.md
@@ -33,68 +33,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Mail
* Send an email.
-## Example Usage
-
-This workflow allows you to create, update and get a contact using the SendGrid node. You can also find the [workflow](https://n8n.io/workflows/901) on n8n.io. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [SendGrid]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. SendGrid node (upsert:contact)
-
-This node will create a contact in SendGrid.
-
-1. First of all, you'll have to enter credentials for the SendGrid node. You can find out how to do that [here](/integrations/builtin/credentials/sendgrid/).
-2. Select 'Contact' from the ***Resource*** dropdown list.
-3. Select 'Create/Update' from the ***Operation*** dropdown list.
-4. Enter an email address in the ***Email*** field.
-5. Click on the ***Add Field*** button and select 'First Name'.
-6. Enter the name of the contact in the ***First Name*** field.
-7. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node creates contact with their first name.
-
-
-
-### 3. SendGrid1 node (upsert:contact)
-
-This node will update the contact that we created in the previous node.
-
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Contact' from the ***Resource*** dropdown list.
-3. Select 'Create/Update' from the ***Operation*** dropdown list.
-4. Click on the gears icon next to the ***Email*** field and click on ***Add Expression***.
-5. Select the following in the ***Variable Selector*** section: Nodes > SendGrid > Parameters > email. You can also add the following expression: `{{$node["SendGrid"].parameter["email"]}}`.
-6. Click on the ***Add Field*** button and select 'Last Name'.
-7. Enter the last name of the contact in the ***Last Name*** field.
-8. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node updates the contact that we created in the previous node.
-
-
-
-### 4. SendGrid2 node (get:contact)
-
-This node will return the information of the contact that we created using the SendGrid node.
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Contact' from the ***Resource*** dropdown list.
-3. Select 'Get' from the ***Operation*** dropdown list.
-4. Select 'Email' from the ***By*** dropdown list.
-5. Click on the gears icon next to the ***Email*** field and click on ***Add Expression***.
-6. Select the following in the ***Variable Selector*** section: Nodes > SendGrid > Parameters > email. You can also add the following expression: `{{$node["SendGrid"].parameter["email"]}}`.
-7. Click on ***Test step*** to run the node.
-
-
-In the screenshot below, you will notice that the node returns the information of the contact that we created using the SendGrid node.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sentryio.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sentryio.md
index 0d93e2e6b..b65542591 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sentryio.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sentryio.md
@@ -58,3 +58,4 @@ Refer to [Sentry.io's documentation](https://docs.sentry.io/api/){:target=_blank
View [example workflows and related content](https://n8n.io/integrations/sentryio/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.servicenow.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.servicenow.md
index aba1e739c..40a56a60c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.servicenow.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.servicenow.md
@@ -50,29 +50,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* User Role
* Get All
-## Example usage
-
-This workflow allows you to get the 50 most recent incidents and view only the desired fields. This example usage workflow uses the following nodes:
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [ServiceNow]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. ServiceNow node
-
-1. First enter credentials, you can find out how to do that [here](/integrations/builtin/credentials/servicenow/).
-2. Select **Incident** from the ***Resource*** dropdown.
-3. Select **Get All** from the ***Operation*** dropdown.
-4. Click ***Add Option*** and select **Fields**.
-5. Use the dropdown to select the fields you want to view, here we used `Close code`, `Severity`, `Sys ID`, and `Resolve time`.
-6. Click on ***Test step*** to run the workflow.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.shopify.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.shopify.md
index 1c68bcf2b..14fe3385b 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.shopify.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.shopify.md
@@ -32,24 +32,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all products
* Update a product
-## Example Usage
-
-This workflow allows you to get all orders from Shopify. You can also find the [workflow](https://n8n.io/workflows/548) on the website. This example usage workflow uses the following two nodes.
-
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Shopify]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Shopify node
-
-1. First of all, you'll have to enter credentials for the Shopify node. You can find out how to do that [here](/integrations/builtin/credentials/shopify/).
-2. Select 'Get All' from the *Operation* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.signl4.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.signl4.md
index f327e9f9b..249c55bdd 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.signl4.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.signl4.md
@@ -22,26 +22,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Alert
* Send an alert
* Resolve an alert
-
-## Example Usage
-
-This workflow allows you to send an alert on SIGNL4. You can also find the [workflow](https://n8n.io/workflows/441) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [SIGNL4]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. SIGNL4 node
-
-1. First of all, you'll have to enter credentials for the SIGNL4 node. You can find out how to do that [here](/integrations/builtin/credentials/signl4/).
-2. Enter a message in the *Message* field.
-3. Click on the *Add Field* button and select 'Title'.
-4. Enter a title in the *Title* field.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.slack.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.slack.md
index 007449477..a827ceeaf 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.slack.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.slack.md
@@ -72,3 +72,4 @@ Refer to [Slack's documentation](https://api.slack.com/){:target=_blank .externa
View [example workflows and related content](https://n8n.io/integrations/slack/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md
index 73684a34d..c7e342ff9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md
@@ -23,26 +23,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Send SMS
* Voice Call
* Converts text to voice and calls a given number
-
-## Example Usage
-
-This workflow allows you to send an SMS to a specified phone number from any phone number. You can also find the [workflow](https://n8n.io/workflows/469) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [sms77]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. sms77 node
-
-1. First of all, you'll have to enter credentials for the sms77 node. You can find out how to do that [here](/integrations/builtin/credentials/sms77/).
-2. Enter the phone number from which you'll be sending the message in the *From* field.
-3. Enter the phone number to which you'll be sending the message in the *To* field.
-4. Enter you message in the *Message* field.
-5. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.spotify.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.spotify.md
index 44d26f91b..0ed3ac6fe 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.spotify.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.spotify.md
@@ -57,25 +57,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get audio features for a track by URI or ID.
* Search tracks by keyword
-## Example Usage
-
-This workflow allows you to add a song to your queue in Spotify. You can also find the [workflow](https://n8n.io/workflows/440) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Spotify]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Spotify node
-
-1. First of all, you'll have to enter credentials for the Spotify node. You can find out how to do that [here](/integrations/builtin/credentials/spotify/).
-2. Enter the song's URI (or ID) to the *Track ID* field. The following GIF shows you how to find the Track ID on Spotify's UI.
-3. Click on *Execute Node* to run the workflow.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.strapi.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.strapi.md
index 0714a44ae..c95b5a43a 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.strapi.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.strapi.md
@@ -32,3 +32,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
View [example workflows and related content](https://n8n.io/integrations/strapi/){:target=_blank .external-link} on n8n's website.
Refer to [Strapi's documentation](https://docs.strapi.io/dev-docs/api/rest){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.strava.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.strava.md
index 3b00addba..b217ece80 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.strava.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.strava.md
@@ -29,3 +29,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all activity zones
* Update an activity
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.stripe.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.stripe.md
index b9f0ea22b..8515eff9b 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.stripe.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.stripe.md
@@ -46,55 +46,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Token
* Create a token
-## Example
-
-This workflow allows you to create a new customer, create a card token, and associate this token as that customer's card. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Stripe]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Stripe node
-
-1. First enter your Stripe API credentials. You can learn how to create that [here](/integrations/builtin/credentials/stripe/).
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select the entity you want to work with, **Customer** in this example.
- * **Operation**: Select the action to perform, **Create** in this example.
- * **Name**: Enter the customer name.
- * **Additional Fields**: Provide any further details, available options are: Address, Description, Email, Metadata, and Shipping.
- * **Type**: The type of token to create, **Card Token** by default.
-
-
-
-### 3. Stripe1 node
-
-1. First enter your Stripe API credentials as with the first node.
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select the entity you want to work with, **Token** in this example.
- * **Operation**: Select the action to perform, **Create** in this example.
- * **Type**: The type of token to create, **Card Token** by default.
- * **Card Number**: Enter the customer credit card number.
- * **CVC**: Enter the security code for this card.
- * **Expiration Month**: Enter the expiration month for this card.
- * **Expiration Year**: Enter the expiration year for this card.
-
-
-
-### 4. Stripe2 node
-
-1. First enter your Stripe API credentials as with the previous node.
-2. Fill in the remaining parameters as follows:
- * **Resource**: Select the entity you want to work with, **Customer Card** in this example.
- * **Operation**: Select the action to perform, **Add** in this example.
- * **Customer ID**: Enter the customer ID generated by the first node.
- * **Card Token**: Enter the token generated by the second node.
- * **Type**: The type of token to create, **Card Token** by default.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.supabase.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.supabase.md
index 633440c49..24ee4c223 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.supabase.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.supabase.md
@@ -26,3 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all rows
* Update a row
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.tapfiliate.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.tapfiliate.md
index c9c290975..802285c43 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.tapfiliate.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.tapfiliate.md
@@ -34,68 +34,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Disapprove an affiliate
* Get an affiliate in a program
* Get all affiliates in program
-
-## Example Usage
-
-This workflow allows you to create an affiliate, add metadata, and add the affiliate to a program. You can also find the [workflow](https://n8n.io/workflows/936) on n8n.io. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Tapfiliate]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The Start node exists by default when you create a new workflow.
-
-### 2. Tapfiliate node (create:affiliate)
-
-This node will create an affiliate in Tapfiliate.
-
-1. First of all, you'll have to enter credentials for the Tapfiliate node. You can find out how to do that [here](/integrations/builtin/credentials/tapfiliate/).
-2. Enter an email address in the ***Email*** field.
-3. Enter the first name of the affiliate in the ***First Name*** field.
-4. Enter the last name of the affiliate in the ***Last Name*** field.
-5. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node creates an affiliate in Tapfiliate.
-
-
-
-### 3. Tapfiliate1 node (add:affiliateMetadata)
-
-This node will add metadata to the affiliate that we created with the previous node.
-
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Affiliate Metadata' from the ***Resource*** dropdown list.
-3. Select 'Add' from the ***Operation*** dropdown list.
-4. Click on the gears icon next to the ***Affiliate ID*** field and click on ***Add Expression***.
-5. Select the following in the ***Variable Selector*** section: Current Node > Input Data > JSON > id. You can also add the following expression: `{{$json["id"]}}`.
-6. Click on the ***Add Metadata*** button.
-7. Enter `tag` in the ***Key*** field.
-8. Enter `n8n` in the ***Value*** field.
-9. Click on ***Test step*** to run the node.
-
-In the screenshot below, you will notice that the node adds the metadata to the affiliate that we created with the previous node.
-
-
-
-### 4. Tapfiliate2 node (get:contact)
-
-This node will add the affiliate that we created with the Tapfiliate node to an affiliate program.
-
-1. Select the credentials that you entered in the previous node.
-2. Select 'Program Affiliate' from the ***Resource*** dropdown list.
-3. Select 'Add' from the ***Operation*** dropdown list.
-4. Select a program from the ***Program ID*** dropdown list.
-5. Click on the gears icon next to the ***Affiliate ID*** field and click on ***Add Expression***.
-6. Select the following in the ***Variable Selector*** section: Nodes > Tapfiliate > Output Data > JSON > id. You can also add the following expression: `{{$node["Tapfiliate"].json["id"]}}`.
-7. Click on ***Test step*** to run the node.
-
-
-In the screenshot below, you will notice that the node adds the affiliate to a program.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.thehive.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.thehive.md
index 0cdd7c29d..a44dfa8fa 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.thehive.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.thehive.md
@@ -11,7 +11,7 @@ Use the TheHive node to automate work in TheHive, and integrate TheHive with oth
On this page, you'll find a list of operations the TheHive node supports and links to more resources.
/// note | TheHive and TheHive 5
-n8n provides two nodes for TheHive. Use this node (TheHive) if you want to use TheHive's version 3 or 4 API. If you want to use version 5, use [TheHive 5]().
+n8n provides two nodes for TheHive. Use this node (TheHive) if you want to use TheHive's version 3 or 4 API. If you want to use version 5, use [TheHive 5](/integrations/builtin/app-nodes/n8n-nodes-base.thehive5/).
///
/// note | Credentials
Refer to [TheHive credentials](/integrations/builtin/credentials/thehive/) for guidance on setting up authentication.
@@ -30,6 +30,7 @@ The available operations depend on your API version. To see the operations list,
* Observable
* Task
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
## Related resources
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.todoist.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.todoist.md
index bca6012a9..b90380fab 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.todoist.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.todoist.md
@@ -28,28 +28,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Reopen a task
* Update a task
-## Example Usage
-
-This workflow allows you to create a new task in Todoist. You can also find the [workflow](https://n8n.io/workflows/481) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Todoist]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Todoist node
-
-1. First of all, you'll have to enter credentials for the Todoist node. You can find out how to do that [here](/integrations/builtin/credentials/todoist/).
-2. Select your project from the *Project* dropdown list.
-3. Enter the content for the task in the *Content* field.
-4. Click on *Execute Node* to run the workflow.
-
-
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.trello.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.trello.md
index 31c35b169..6c129e5d9 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.trello.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.trello.md
@@ -69,28 +69,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all the cards in a list
* Update a list
-## Example Usage
-
-This workflow allows you to create a new card in Trello. You can also find the [workflow](https://n8n.io/workflows/461) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Trello]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Trello node
-
-1. First of all, you'll have to enter credentials for the Trello node. You can find out how to do that [here](/integrations/builtin/credentials/trello/).
-2. Enter the ID of the list in which you want to create a new card in the *List ID* field. You can find instructions on how to obtain the ID of the list in the FAQs below.
-3. Enter the name of the card in the *Name* field.
-4. Enter the description of the card in the *Description* field.
-5. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
## FAQs
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twake.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twake.md
index b6fab8331..a9a82b502 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twake.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twake.md
@@ -22,28 +22,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Message
* Send a message
-
-## Example Usage
-
-This workflow allows you to send a message to a channel on Twake. You can also find the [workflow](https://n8n.io/workflows/595) on n8n.io. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Twake]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-
-### 2. Twake node
-
-1. First of all, you'll have to enter credentials for the Twake node. You can find out how to do that [here](/integrations/builtin/credentials/twake/).
-2. Select the channel from the ***Channel ID*** dropdown list.
-3. Enter the content of the message in the ***Content*** field.
-4. Click on ***Test step*** to run the node.
-
-
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twilio.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twilio.md
index 12c667c89..6404e19b3 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twilio.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twilio.md
@@ -31,3 +31,5 @@ Refer to [Twilio's documentation](https://www.twilio.com/docs/usage/api){:target
View [example workflows and related content](https://n8n.io/integrations/twilio/){:target=_blank .external-link} on n8n's website.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twist.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twist.md
index 1125aea3f..92e90be6c 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twist.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twist.md
@@ -47,6 +47,8 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Update a thread
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
## FAQs
### Where can I get the User ID?
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twitter.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twitter.md
index c80cbb830..f0783515d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.twitter.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.twitter.md
@@ -27,24 +27,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Search tweets
* Like a tweet
* Retweet a tweet
-
-## Example Usage
-
-This workflow allows you to tweet on Twitter. You can also find the [workflow](https://n8n.io/workflows/445) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Twitter]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Twitter node
-
-1. First of all, you'll have to enter credentials for the Twitter node. You can find out how to do that [here](/integrations/builtin/credentials/twitter/).
-2. Type the message you want to tweet in the *Text* field.
-3. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.unleashedsoftware.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.unleashedsoftware.md
index 84f46e7b6..1afc381d2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.unleashedsoftware.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.unleashedsoftware.md
@@ -24,28 +24,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Stock On Hand
* Get a stock on hand
* Get all stocks on hand
-
-## Example Usage
-
-This workflow allows you to get a list of all the orders from Unleashed Software based on the order status. You can also find the [workflow](https://n8n.io/workflows/641) on n8n.io. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Unleashed Software]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Unleashed Software node
-
-1. First of all, you'll have to enter credentials for the Unleashed Software node. You can find out how to do that [here](/integrations/builtin/credentials/unleashedsoftware/).
-2. Toggle ***Return All*** to true.
-3. Click on the ***Add Filter*** button and select 'Order Status' from the dropdown list.
-4. Select 'Completed' from the ***Order Status*** dropdown list.
-5. Click on ***Test step*** to run the node.
-
-
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.uplead.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.uplead.md
index 65c57d84c..c901208ab 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.uplead.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.uplead.md
@@ -23,24 +23,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Enrich
* Person
* Enrich
-
-## Example Usage
-
-This workflow allows you to get information about a company with UpLead. You can also find the [workflow](https://n8n.io/workflows/504) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [UpLead]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. UpLead node
-
-1. First of all, you'll have to enter credentials for the UpLead node. You can find out how to do that [here](/integrations/builtin/credentials/uplead/).
-2. Enter the name of the company in the *Company* field. For example, I entered `Apple`.
-3. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.uproc.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.uproc.md
index 8ce833e05..7b202c78d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.uproc.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.uproc.md
@@ -504,5 +504,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
- Count total words in a text
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.urlscanio.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.urlscanio.md
index 30da38714..767727e04 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.urlscanio.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.urlscanio.md
@@ -24,3 +24,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Perform
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud.md
index 4c097e41f..58bdc206f 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud.md
@@ -40,3 +40,5 @@ n8n also provides:
* A [trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) for Venafi TLS Protect Cloud.
* A [node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter/) for Venafi TLS Protect Datacenter.
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md
index 280343357..59745bfc6 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md
@@ -37,4 +37,6 @@ n8n also provides:
* A [node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloud/) and [trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) node for Venafi TLS Protect Cloud.
-
\ No newline at end of file
+
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md
index fd41d4fc4..9e291ca61 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.webflow.md
@@ -26,4 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get All
* Update
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md
index feba2594c..6f23da0a2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wekan.md
@@ -50,7 +50,7 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get the data of a list
* Get all board lists
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
## FAQs
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md
index 8385d675a..400671f60 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.whatsapp.md
@@ -32,3 +32,4 @@ Refer to [WhatsApp Business Platform's Cloud API documentation](https://develope
View [example workflows and related content](https://n8n.io/integrations/whatsapp-business-cloud/){:target=_blank .external-link} on n8n's website.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md
index f73b05c23..54c606f01 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.woocommerce.md
@@ -38,5 +38,5 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all products
* Update a product
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md
index d995d7d1f..9e1e530b5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.wordpress.md
@@ -24,11 +24,16 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a post
* Get all posts
* Update a post
+* Pages
+ * Create a page
+ * Get a page
+ * Get all pages
+ * Update a page
* User
* Create a user
* Get a user
* Get all users
* Update a user
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md
index acd4d3353..f8208690b 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.xero.md
@@ -36,3 +36,4 @@ View [example workflows and related content](https://n8n.io/integrations/xero/){
Refer to [Xero's API documentation](https://developer.xero.com/documentation/api/accounting/overview){:target=_blank .external-link} for more information about the service.
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md
index a5e4554c7..0855398d5 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.youtube.md
@@ -45,3 +45,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Video Category
* Retrieve all video categories
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md
index fecc4d41c..0e4536e7d 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zendesk.md
@@ -47,23 +47,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get data related to the organization
* Update a organization
-## Example Usage
-
-This workflow allows you to create a ticket in Zendesk. You can also find the [workflow](https://n8n.io/workflows/496) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Zendesk]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Zendesk node
-
-1. First of all, you'll have to enter credentials for the Zendesk node. You can find out how to do that [here](/integrations/builtin/credentials/zendesk/).
-2. Enter the description of the ticket in the *Description* field.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md
index 3fe29d747..a34c3ffc2 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zohocrm.md
@@ -91,23 +91,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get all vendors
* Update a vendor
-## Example Usage
-
-This workflow allows you to get the data of all leads from Zoho CRM. You can also find the [workflow](https://n8n.io/workflows/552) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Zoho CRM]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Zoho CRM node
-
-1. First of all, you'll have to enter credentials for the Zoho CRM node. You can find out how to do that [here](/integrations/builtin/credentials/zoho/).
-2. Select the 'Get All' option from the *Operation* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md
index bafef8776..3f559e351 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zoom.md
@@ -26,23 +26,4 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Retrieve all meetings
* Update a meeting
-## Example Usage
-
-This workflow allows you to create a meeting in Zoom. You can also find the [workflow](https://n8n.io/workflows/453) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Zoom]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Zoom node
-
-1. First of all, you'll have to enter credentials for the Zoom node. You can find out how to do that [here](/integrations/builtin/credentials/zoom/).
-2. Enter the topic of the meeting in the *Topic* field.
-3. Click on *Execute Node* to run the workflow.
-
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zulip.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zulip.md
index 4fe4d8b85..f8b803252 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.zulip.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.zulip.md
@@ -38,25 +38,3 @@ For usage examples and templates to help you get started, take a look at n8n's [
* Get a user.
* Get all users.
* Update a user.
-
-## Example Usage
-
-This workflow allows you to send a private message on Zulip. You can also find the [workflow](https://n8n.io/workflows/498) on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [Zulip]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. Zulip node
-
-1. First of all, you'll have to enter credentials for the Zulip node. You can find out how to do that [here](/integrations/builtin/credentials/zulip/).
-2. Select the user you want to send a private message to from the *To* dropdown list.
-3. Type the message you want to post in the *Content* field.
-4. Click on *Execute Node* to run the workflow.
-
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.openai.md b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
similarity index 52%
rename from docs/integrations/builtin/app-nodes/n8n-nodes-base.openai.md
rename to docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
index f353fef34..64a4e56e0 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.openai.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
@@ -6,10 +6,14 @@ contentType: integration
# OpenAI
-Use the OpenAI node to automate work in OpenAI, and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and chats, as well as moderating, and editing texts.
+Use the OpenAI node to automate work in OpenAI, and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and assistants, as well as chatting with models.
On this page, you'll find a list of operations the OpenAI node supports and links to more resources.
+/// note | OpenAI Assistant node
+The OpenAI node replaces the OpenAI assistant node from version 1.29.0 on.
+///
+
/// note | Credentials
Refer to [OpenAI credentials](/integrations/builtin/credentials/openai/) for guidance on setting up authentication.
///
@@ -45,6 +49,27 @@ For usage examples and templates to help you get started, take a look at n8n's [
## Related resources
Refer to [OpenAI's documentation](https://beta.openai.com/docs/introduction){:target=_blank .external-link} for more information about the service.
+
+Refer to [OpenAI's assistants documentation](https://platform.openai.com/docs/assistants/how-it-works/objects){:target=_blank .external-link} for more information about how assistants work.
View [example workflows and related content](https://n8n.io/integrations/openai/){:target=_blank .external-link} on n8n's website.
+For help dealing with rate limits, refer to [Handling rate limits](/integrations/builtin/rate-limits/).
+
+--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
+
+
+## Using tools with OpenAI assistants
+
+Some operations allow you to connect tools. [Tools](https://docs.n8n.io/advanced-ai/examples/understand-tools/) act like addons that your AI can use to access extra context or resources.
+
+Select the **Tools** connector to browse the available tools and add them.
+
+Once you add a tool connection, the OpenAI node becomes a root node, allowing it to form a cluster node with the tools sub-nodes. See [Node types](/integrations/builtin/node-types/#cluster-nodes) for more information on cluster nodes and root nodes.
+
+### Operations that support tool connectors
+
+* Assistant
+ * Message Assistant
+* Text
+ * Message Model
diff --git a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code.md b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code.md
index 8a8050d0b..ac2da7750 100644
--- a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code.md
+++ b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.code.md
@@ -28,7 +28,7 @@ Unlike the [Code node](/integrations/builtin/core-nodes/n8n-nodes-base.code/), t
* **Execute**: use the LangChain Code node like n8n's own Code node. This takes input data from the workflow, processes it, and returns it as the node output. This mode requires a main input and output. You must create these connections in **Inputs** and **Outputs**.
* **Supply Data**: use the LangChain Code node as a sub-node, sending data to a root node. This uses an output other than main.
-By default, you can't load built-in or external modules in this node. Self-hosted users can [enable built-in and external modules](/hosting/environment-variables/configuration-methods/).
+By default, you can't load built-in or external modules in this node. Self-hosted users can [enable built-in and external modules](/hosting/configuration/configuration-methods/).
### Inputs
diff --git a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.openaiassistant.md b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.openaiassistant.md
deleted file mode 100644
index d1bf650fc..000000000
--- a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.openaiassistant.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: OpenAI Assistant
-description: Documentation for the OpenAI Assistant node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
----
-
-# OpenAI Assistant
-
-Use the OpenAI Assistant node to work with OpenAI's [Assistants API](https://platform.openai.com/docs/assistants/overview){:target=_blank .external-link}.
-
-On this page, you'll find a list of operations the OpenAI Assistant node supports, and links to more resources.
-
-/// note | Credentials
-You can find authentication information for this node [here](/integrations/builtin/credentials/openai/).
-///
-
-/// note | Examples and templates
-For usage examples and templates to help you get started, refer to n8n's [OpenAI Assistant's integrations](https://n8n.io/integrations/openai-assistant/){:target=_blank .external-link} page.
-///
-
-## Node parameters
-
-### Operation
-
-You can choose **Use New Assistant** or **Use Existing Assistant**.
-
-* To use a new assistant: define the **Name**, **Instructions**, and the **Model** you want to use.
-* To use an existing assistant: select your **Assistant**.
-
-/// note | Use New Assistant
-The **Use New Assistant** option creates a new assistant on every run.
-///
-
-### Text
-
-The input from the chat. This is the user's query, also known as the prompt.
-
-### OpenAI Tools
-
-Choose the [OpenAI Assistants Tools](https://platform.openai.com/docs/assistants/tools){:target=_blank .external-link} you're using with this assistant.
-
-### Options
-
-* Base URL: change the OpenAI API URL.
-* Max Retries: how many times to retry a request.
-* Timeout: maximum amount of time a request is allowed to take in milliseconds.
-
-## Related resources
-
-View [example workflows and related content](https://n8n.io/integrations/openai-assistant/){:target=_blank .external-link} on n8n's website.
-
-Refer to [LangChain's OpenAI assistant documentation](https://js.langchain.com/docs/modules/agents/agent_types/openai_assistant){:target=_blank .external-link} for more information about the service.
---8<-- "_glossary/ai-glossary.md"
diff --git a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory.md b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory.md
index 6c71b8861..38cad75cc 100644
--- a/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory.md
+++ b/docs/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory.md
@@ -5,7 +5,7 @@ description: Documentation for the In Memory Vector Store node in n8n, a workflo
# In Memory Vector Store
-Use the In Memory Vector Store node to store and retrieve embeddings in-memory.
+Use the In Memory Vector Store node to store and retrieve embeddings in n8n's in-app memory.
On this page, you'll find the node parameters for the In Memory Vector Store node, and links to more resources.
@@ -15,6 +15,12 @@ For usage examples and templates to help you get started, refer to n8n's [In Mem
--8<-- "_snippets/integrations/builtin/cluster-nodes/sub-node-expression-resolution.md"
+/// note | This node is different to AI memory nodes
+The in-memory storage described here is different to the AI memory nodes such as [Window Buffer Memory](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/).
+
+This node creates a vector database in the app memory.
+///
+
## Node parameters
--8<-- "_snippets/integrations/builtin/cluster-nodes/vector-store-mode.md"
diff --git a/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama.md b/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama.md
new file mode 100644
index 000000000..7b1b78b0f
--- /dev/null
+++ b/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama.md
@@ -0,0 +1,37 @@
+---
+title: Embeddings Ollama
+description: Documentation for the Embeddings Ollama node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+---
+
+# Embeddings Ollama
+
+Use the Embeddings Ollama node to generate embeddings for a given text.
+
+On this page, you'll find the node parameters for the Embeddings Ollama node, and links to more resources.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/ollama/).
+///
+
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [Ollama Embeddings integrations](https://n8n.io/integrations/embeddings-ollama/){:target=_blank .external-link} page.
+///
+
+--8<-- "_snippets/integrations/builtin/cluster-nodes/sub-node-expression-resolution.md"
+
+## Node parameters
+
+**Model**: the model to use to generate the embedding. Learn more about available models in [Ollama's models documentation](https://ollama.ai/library){:target=_blank .external-link}. Choose from:
+
+ * [all-minilm](https://ollama.com/library/all-minilm) (384 Dimensions)
+ * [nomic-embed-text](https://ollama.com/library/nomic-embed-text) (768 Dimensions)
+
+
+## Related resources
+
+View [example workflows and related content](https://n8n.io/integrations/embeddings-ollama/){:target=_blank .external-link} on n8n's website.
+
+Refer to [Langchain's Ollama embeddings documentation](https://js.langchain.com/docs/modules/data_connection/text_embedding/integrations/ollama){:target=_blank .external-link} for more information about the service.
+
+--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md"
+--8<-- "_glossary/ai-glossary.md"
diff --git a/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow.md b/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow.md
index 794451862..f0fa25fc0 100644
--- a/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow.md
+++ b/docs/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow.md
@@ -19,7 +19,7 @@ For usage examples and templates to help you get started, refer to n8n's [Custom
### Name
-Give your custom code a name. It can't contain whitespace.
+Give your custom code a name. It can't contain whitespace or special characters.
### Description
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.datetime.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.datetime.md
index 46ee74758..9ce117e19 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.datetime.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.datetime.md
@@ -14,7 +14,7 @@ For usage examples and templates to help you get started, refer to n8n's [Date &
--8<-- "_snippets/integrations/builtin/core-nodes/schedule/timezone-settings.md"
/// note | Date and time in other nodes
-You can work with data and time in the Code node, and in expressions in any node. n8n supports Luxon to help work with date and time in JavaScript. Refer to [Date and time with Luxon](/code/luxon/) for more information.
+You can work with data and time in the Code node, and in expressions in any node. n8n supports Luxon to help work with date and time in JavaScript. Refer to [Date and time with Luxon](/code/cookbook/luxon/) for more information.
///
## Operations
@@ -30,7 +30,7 @@ You can work with data and time in the Code node, and in expressions in any node
View [example workflows and related content](https://n8n.io/integrations/date-and-time/){:target=_blank .external-link} on n8n's website.
-The Date & Time node uses [Luxon](https://moment.github.io/luxon){:target=_blank .external-link}. You can also use Luxon in the Code node and expressions. Refer to [Date and time with Luxon](/code/luxon/) for more information.
+The Date & Time node uses [Luxon](https://moment.github.io/luxon){:target=_blank .external-link}. You can also use Luxon in the Code node and expressions. Refer to [Date and time with Luxon](/code/cookbook/luxon/) for more information.
### Supported date formats
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger.md
index 2b59907ab..b5ae00f97 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger.md
@@ -27,7 +27,7 @@ Note the following:
You can use the [Stop And Error](/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror/) node to send custom messages to the Error trigger.
-Read more about [Error workflows](/flow-logic/error-handling/error-workflows/) in n8n workflows.
+Read more about [Error workflows](/flow-logic/error-handling/) in n8n workflows.
## Error data
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.executecommand.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.executecommand.md
index 089efd4f7..8cb37c88c 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.executecommand.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.executecommand.md
@@ -29,86 +29,6 @@ The Execute Command node has two properties:
1. **Execute Once** toggle: This is a boolean field that specifies whether you want the node to execute only once, or once for every item it receives an input.
2. **Command** field: This is a text field that specifies the command to execute on the host machine.
-## Example Usage
-
-This workflow allows you to execute a command that returns the percentage of the hard disk that's full using the Execute Command node. The workflow triggers twice a day, and if the memory usage exceeds 80%, it sends an SMS using the Twilio node. You can also find the [workflow](https://n8n.io/workflows/716) on n8n.io. This example usage workflow would use the following nodes.
-
-- [Schedule trigger](/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/)
-- [Execute Command]()
-- [IF](/integrations/builtin/core-nodes/n8n-nodes-base.if/)
-- [Twilio](/integrations/builtin/app-nodes/n8n-nodes-base.twilio/)
-- [No Operation, do nothing](/integrations/builtin/core-nodes/n8n-nodes-base.noop/)
-
-The final workflow should look like the following image.
-
-
-
-### 1. Cron node
-
-The Cron node will trigger the workflow twice a day, at 9 AM and 4 PM.
-
-1. Click on **Add Cron Time**.
-2. Select 'Every Day' from the **Mode** dropdown list.
-3. Enter `9` in the **Hour** field.
-4. Click on **Add Cron Time**.
-5. Select 'Every Day' from the **Mode** dropdown list.
-6. Enter `16` in the **Hour** field.
-7. Click on **Test step** to run the node.
-
-
-
-### 2. Execute Command node
-
-The Execute Command node executes the command and return the percentage of hard disk space used on the host machine.
-
-1. Enter `df -k / | tail -1 | awk '{print $5}'` in the **Command** field.
-2. Click on **Test step** to run the node.
-
-In the screenshot below, note that the node executes the command and returns the percentage of the hard disk that's full.
-
-
-
-### 3. IF node
-
-This node will compare the percentage of the hard disk space used we got from the Execute Command node. If the usage of the memory exceeds 80%, it will return true otherwise false.
-
-1. Click on **Add Condition** and select 'Number' from the dropdown list.
-2. Click on the gears icon next to the **Value 1** field and click on **Add Expression**.
-3. Enter `{{parseInt($node["Execute Command"].json["stdout"])}}` in the **Expression** field. The output from the Execute Command node is a string. The `parseInt()` method converts the string into an integer.
-4. Select 'Larger' from the **Operation** dropdown list.
-5. Set **Value 2** to 80.
-5. Click on **Test step** to run the node.
-
-In the screenshot below, you will notice that the node returns an output when the percentage of hard disk space used exceeds 80%.
-
-
-
-### 4. Twilio node (send: SMS)
-
-This node sends an SMS to the specified phone number when the usage of hard disk space exceeds 80%.
-
-1. Create a Twilio node connected to the 'true' output of the IF node.
-2. You'll have to enter credentials for the Twilio node. You can find out how to do that [here](/integrations/builtin/credentials/twilio/).
-3. Enter the Twilio phone number in the **From** field.
-4. Enter the receiver's phone number in the **To** field.
-5. Click on the gears icon next to the **Message** field and click on **Add Expression**.
-
-6. Enter `Your hard disk space is filling up fast! Your hard disk is {{$node["Execute Command"].json["stdout"]}} full.` in the **Expression** field.
-7. Click on **Test step** to run the node.
-
-In the screenshot below, note that the node sends an SMS with the percentage of the hard disk space used that you got from the Execute Command node.
-
-
-
-### 5. NoOp node
-
-Adding this node here is optional, as the absence of this node won't make a difference to the functioning of the workflow.
-
-1. Create a **NoOp** node connected to the 'false' output of the IF node.
-2. Click on **Test step** to run the node.
-
-
-
## FAQs
### How to run multiple commands in the Execute Command node?
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.html.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.html.md
index 8d230008e..4859734b3 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.html.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.html.md
@@ -29,7 +29,7 @@ View [example workflows and related content](https://n8n.io/integrations/html/){
## Generate HTML template
-Create an HTML template. This allows you to take data from your workflow and output it as HTML. You can use [Expressions](/code/expressions/) in the template, including n8n's [Built-in methods and variables](/code/builtin/)
+Create an HTML template. This allows you to take data from your workflow and output it as HTML. You can use [Expressions](/code/expressions/) in the template, including n8n's [Built-in methods and variables](/code/builtin/overview/)
You can include:
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md
index 640f9df73..98ec05f2f 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest.md
@@ -68,7 +68,7 @@ You can choose to send additional information with your request. The data you ne
Select **Add Option** to view and select these options.
-- **Batching**: control how to batch large responses.
+- **Batching**: control how to batch large numbers of input items.
- **Ignore SSL Issues**: download the response even if SSL validation isn't possible.
- **Redirects**: choose whether to follow redirects. Enabled by default.
- **Response**: provide settings about the expected API response.
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.jwt.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.jwt.md
new file mode 100644
index 000000000..00f66eae8
--- /dev/null
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.jwt.md
@@ -0,0 +1,23 @@
+---
+title: JWT
+description: Documentation for the JWT node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
+contentType: integration
+---
+
+# JWT
+
+Work with JSON web tokens in your n8n workflows.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/jwt/).
+///
+
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [JWT integrations](https://n8n.io/integrations/jwt/){:target=_blank .external-link} page.
+///
+
+## Operations
+
+* Decode
+* Sign
+* Verify
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread.md
index d002a5384..d7bf9203c 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread.md
@@ -18,29 +18,9 @@ The RSS Read node has only one property:
- *URL* field: This field is used to specify the web address of the RSS publication.
-## Example Usage
-
-This workflow allows you to read an RSS Feed using the RSS Read node. You can also find the [workflow](https://n8n.io/workflows/583){:target=_blank .external-link} on the website. This example usage workflow would use the following two nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [RSS Read]()
-
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. RSS Read node
-
-1. Enter the URL of the RSS feed that you want to read in the *URL* field.
-2. Click on *Execute Node* to run the workflow.
-
## Related resources
-n8n provides a trigger node for RSS Read. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.rssfeedreadtrigger/).
+n8n provides a trigger node for RSS Read. You can find the trigger node docs [here](/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedreadtrigger/).
View [example workflows and related content](https://n8n.io/integrations/rss-read/){:target=_blank .external-link} on n8n's website.
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssetrigger.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssetrigger.md
index 774788646..5de6b527b 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssetrigger.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssetrigger.md
@@ -15,19 +15,3 @@ For usage examples and templates to help you get started, refer to n8n's [SSE Tr
## Node Reference
***URL***: This field specifies the URL from which to receive the server-sent events.
-
-## Example Usage
-
-This workflow allows you to receive server-sent events using the SSE trigger node. You can also find the [workflow](https://n8n.io/workflows/639) on n8n.io. This example usage workflow would use the following node.
-- [SSE trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. SSE trigger node
-
-1. Enter the URL in the ***URL*** field.
-2. Click on ***Test step*** to run the node.
-
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssh.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssh.md
index 5e267f11d..1127c8162 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssh.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.ssh.md
@@ -34,31 +34,3 @@ For usage examples and templates to help you get started, refer to n8n's [SSH in
- ***Path:*** Only visible for **Download** operation on file resources. The path where the desired file is found.
- ***Binary Property:*** Only visible for file resources. The name of the binary property which contains the data for the file to be uploaded.
- ***Target Directory:*** Only visible for **Upload** operations on file resources. The directory to upload the file to. The name of the file doesn'tneed to be specified, it's taken from the binary data file name. To override this behavior, set the parameter **File Name** under options.
-
-
-## Example Usage
-
-This workflow allows you to remotely connect to your computer using SSH. This example usage workflow would use the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [SSH]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-### 2. SSH node
-
-1. From the SSH Credentials dropdown, select ***Create New*** or an existing [credential](/integrations/builtin/credentials/ssh/).
-2. Select ***Password*** from the ***Authentication*** dropdown list.
-3. Select ***Command*** from the ***Resource*** dropdown list.
-4. The ***Execute*** option is automatically selected as the ***Operation***.
-5. In the ***Command*** field enter the command to execute. Here we used `ls` just to see the local directory contents.
-6. In the ***Working Directory*** field you can enter where the command should be executed. Here we ran it in the root directory.
-7. Click on ***Test step*** to run the node.
-
-
-
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md
index b099d52f7..79436fe1c 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror.md
@@ -21,5 +21,5 @@ For usage examples and templates to help you get started, refer to n8n's [Stop a
You can use the Stop And Error node with the [Error trigger](/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger/) node.
-Read more about [Error workflows](/flow-logic/error-handling/error-workflows/) in n8n workflows.
+Read more about [Error workflows](/flow-logic/error-handling/) in n8n workflows.
diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.xml.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.xml.md
index b8ed3a606..893f2c202 100644
--- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.xml.md
+++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.xml.md
@@ -32,36 +32,3 @@ For usage examples and templates to help you get started, refer to n8n's [XML in
- **Trim:** Trim the whitespace at the beginning and end of text nodes. This field is displayed when 'XML to JSON' is selected from the **Mode** dropdown list.
- **Attribute Key:** Prefix that's used to access the attributes.
- **Character Key:** Prefix that's used to access the character content.
-
-
-## Example Usage
-
-This workflow allows you to convert the JSON data received from the [CocktailDB API](https://www.thecocktaildb.com/) to XML. You can also find the [workflow](https://n8n.io/workflows/661) on n8n.io. This example usage workflow uses the following nodes.
-- [Start](/integrations/builtin/core-nodes/n8n-nodes-base.start/)
-- [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)
-- [XML]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Start node
-
-The start node exists by default when you create a new workflow.
-
-
-### 2. HTTP Request node (GET)
-
-1. Enter `https://www.thecocktaildb.com/api/json/v1/1/random.php` in the **URL** field.
-2. Click on **Test Step** to run the node.
-
-
-
-
-### 3. XML node (JSON to XML)
-
-1. Select 'JSON to XML' from the **Mode** dropdown list.
-2. Click on **Test Step** to run the node.
-
-
-
diff --git a/docs/integrations/builtin/credentials/airtable.md b/docs/integrations/builtin/credentials/airtable.md
index 181596298..aac593f1d 100644
--- a/docs/integrations/builtin/credentials/airtable.md
+++ b/docs/integrations/builtin/credentials/airtable.md
@@ -19,11 +19,15 @@ Create an [Airtable](https://airtable.com/){:target=_blank .external-link} accou
1. Open your Airtable [Developer Hub](https://airtable.com/create/tokens).
2. Under the **Personal access tokens** section, click on the **Create new token** button.
-3. Create a new Access Token by selecting the following scopes: *data.records:read*, *data.records:write*, *schema.bases:read* and adding the base you want to work on (or all the bases).
-4. Copy the token displayed in the dialog.
-5. In the n8n Airtable credentials dialog select the **Access Token** connection.
-6. Paste the token in the **Access Token** field.
-7. Click on the **Save** button to create the credentials.
+3. Select the following **Scopes**:
+ - *data.records:read*
+ - *data.records:write*
+ - *schema.bases:read*
+4. Be sure to select the bases this token can **Access** (or all the bases in the workspace).
+5. Copy the token displayed in the dialog.
+6. In the n8n Airtable credentials dialog select the **Access Token** connection.
+7. Paste the token in the **Access Token** field.
+8. Click on the **Save** button to create the credentials.
## Using OAuth 2
diff --git a/docs/integrations/builtin/credentials/clearbit.md b/docs/integrations/builtin/credentials/clearbit.md
index 6f24f93bc..d3b991cd6 100644
--- a/docs/integrations/builtin/credentials/clearbit.md
+++ b/docs/integrations/builtin/credentials/clearbit.md
@@ -17,7 +17,7 @@ Create a [Clearbit](https://www.clearbit.com/){:target=_blank .external-link} ac
## Supported authentication methods
-n8n supports authenticating Clearbit with an API key.
+n8n supports authenticating Clearbit with an API key. To get your API key, log in to the [Clearbit dashboard](https://dashboard.clearbit.com/api){:target=_blank .external-link}.
## Related resources
diff --git a/docs/integrations/builtin/credentials/huggingface.md b/docs/integrations/builtin/credentials/huggingface.md
index 8ed15112a..ff0222483 100644
--- a/docs/integrations/builtin/credentials/huggingface.md
+++ b/docs/integrations/builtin/credentials/huggingface.md
@@ -7,7 +7,7 @@ description: Documentation for the Hugging Face credentials. Use these credentia
You can use these credentials to authenticate the following nodes:
-* [Hugging Face Inference](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmhuggingfaceinference/)
+* [Hugging Face Inference](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmopenhuggingfaceinference/)
* [Embeddings Hugging Face Inference](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingshuggingfaceinference/)
diff --git a/docs/integrations/builtin/credentials/jwt.md b/docs/integrations/builtin/credentials/jwt.md
new file mode 100644
index 000000000..0cc8ce7f3
--- /dev/null
+++ b/docs/integrations/builtin/credentials/jwt.md
@@ -0,0 +1,24 @@
+---
+title: JWT credentials
+description: Documentation for the JWT credentials. Use these credentials to authenticate JWT in n8n, a workflow automation platform.
+---
+
+# JWT credentials
+
+You can use these credentials to authenticate the following nodes:
+
+[JWT](/integrations/builtin/core-nodes/n8n-nodes-base.jwt/)
+
+
+## Supported authentication methods
+
+You can use a passphrase or a PEM key.
+
+## Related resources
+
+Refer to the [JWT website](https://jwt.io/introduction){:target=_blank .external-link} for more information about working with JWTs.
+
+
+
+
+
diff --git a/docs/integrations/builtin/credentials/mongodb.md b/docs/integrations/builtin/credentials/mongodb.md
index 05f4ae55f..bb72d0dfb 100644
--- a/docs/integrations/builtin/credentials/mongodb.md
+++ b/docs/integrations/builtin/credentials/mongodb.md
@@ -27,19 +27,19 @@ You need to configure your MongoDB database, then configure your n8n credential.
### MongoDB Atlas settings
1. Inside your MongoDB organization, set up your database cluster. Your cluster will be visible in **Organization > Project**, in the **Database** section.
-
+
2. Inside the cluster, you need to have a database to connect to. If you don't have a database yet, you can go to **Collections** and select **Add My Own Data**. A dialog will show up: enter the name of the database in the **Database name** field and the name of the collection in the **Collection name** field.
-
+
3. Once ready, you'll see the database in **Organization > Project > Databases > Collections**.
-
+
4. In the **Network Access** section of your project you need to allow list the n8n IPs. Select **Add IP Address** button and add all the IPs listed [here](/choose-n8n/cloud/#cloud-ip-addresses). The allow list IPs will be visible in the **IP Access List** table.
-
+
### n8n settings
1. In MongoDB Atlas, go to the cluster page and select **Connect**. A dialog will open. Select **Drivers**.
1. In the MongoDB dialog, copy the code you see in **Add your connection string into your application code**. It will be something like: `mongodb+srv://yourName:yourPassword@clusterName.5j5fpzo.mongodb.net/?retryWrites=true&w=majority`. You can find details on how to format the connection string [here](https://www.mongodb.com/docs/manual/reference/connection-string/){:target=_blank .external-link}.
-
+
1. In the MongoDB credential dialog set **Configuration Type** as **Connection string**.
1. Paste the code you copied from the MongoDB dialog in the **Connection String** parameter in the n8n dialog.
1. Replace `` with your user's password.
diff --git a/docs/integrations/builtin/credentials/ollama.md b/docs/integrations/builtin/credentials/ollama.md
index 6928df475..bab8877b2 100644
--- a/docs/integrations/builtin/credentials/ollama.md
+++ b/docs/integrations/builtin/credentials/ollama.md
@@ -9,6 +9,7 @@ You can use these credentials to authenticate the following nodes:
* [Ollama](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmollama/)
* [Chat Ollama](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatollama/)
+* [Embeddings Ollama](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama/)
## Prerequisites
diff --git a/docs/integrations/builtin/credentials/openai.md b/docs/integrations/builtin/credentials/openai.md
index 110a0e4d7..66ba03ec6 100644
--- a/docs/integrations/builtin/credentials/openai.md
+++ b/docs/integrations/builtin/credentials/openai.md
@@ -8,7 +8,7 @@ contentType: integration
You can use these credentials to authenticate the following nodes with OpenAI.
-- [OpenAI](/integrations/builtin/app-nodes/n8n-nodes-base.openai/)
+- [OpenAI](/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/)
- [Chat OpenAI](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai)
- [Embeddings OpenAI](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai)
- [LM OpenAI](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmopenai)
diff --git a/docs/integrations/builtin/credentials/salesforce.md b/docs/integrations/builtin/credentials/salesforce.md
index 80caae298..e9c1b7bb1 100644
--- a/docs/integrations/builtin/credentials/salesforce.md
+++ b/docs/integrations/builtin/credentials/salesforce.md
@@ -9,6 +9,7 @@ contentType: integration
You can use these credentials to authenticate the following nodes with Salesforce.
- [Salesforce](/integrations/builtin/app-nodes/n8n-nodes-base.salesforce/)
+- [Salesforce trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.salesforcetrigger/)
## Prerequisites
diff --git a/docs/integrations/builtin/credentials/twilio.md b/docs/integrations/builtin/credentials/twilio.md
index 422bce8d6..20bb8ea30 100644
--- a/docs/integrations/builtin/credentials/twilio.md
+++ b/docs/integrations/builtin/credentials/twilio.md
@@ -9,6 +9,7 @@ contentType: integration
You can use these credentials to authenticate the following nodes with Twilio.
- [Twilio](/integrations/builtin/app-nodes/n8n-nodes-base.twilio/)
+- [Twilio trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.twiliotrigger/)
## Prerequisites
diff --git a/docs/integrations/builtin/index.md b/docs/integrations/builtin/node-types.md
similarity index 76%
rename from docs/integrations/builtin/index.md
rename to docs/integrations/builtin/node-types.md
index ed51caabf..4cf6c2ae8 100644
--- a/docs/integrations/builtin/index.md
+++ b/docs/integrations/builtin/node-types.md
@@ -8,6 +8,10 @@ This section contains the node library: reference documentation for every built-
--8<-- "_snippets/integrations/builtin/node-operations.md"
+## Core nodes
+
+Core nodes can be actions or triggers. Whereas most nodes connect to a specific external service, core nodes provide functionality such as logic, scheduling, or generic API calls.
+
## Cluster nodes
--8<-- "_snippets/integrations/builtin/cluster-nodes/cluster-nodes-summary.md"
@@ -24,6 +28,6 @@ To learn more about creating, managing, and sharing credentials, refer to [Manag
## Community nodes
-n8n supports custom nodes built by the community. Refer to [Community nodes](/integrations/community-nodes/) for guidance on installing and using these nodes.
+n8n supports custom nodes built by the community. Refer to [Community nodes](/integrations/community-nodes/installation/) for guidance on installing and using these nodes.
-For help building your own custom nodes, and publish them to [npm](https://www.npmjs.com/){:target=_blank .external-link}, refer to [Creating nodes](/integrations/creating-nodes/) for more information.
+For help building your own custom nodes, and publish them to [npm](https://www.npmjs.com/){:target=_blank .external-link}, refer to [Creating nodes](/integrations/creating-nodes/overview/) for more information.
diff --git a/docs/integrations/builtin/rate-limits.md b/docs/integrations/builtin/rate-limits.md
new file mode 100644
index 000000000..3a618b1de
--- /dev/null
+++ b/docs/integrations/builtin/rate-limits.md
@@ -0,0 +1,62 @@
+---
+title: Handling API rate limits
+pageType: howto
+description: How to handle API rate limits when using n8n integrations.
+---
+
+# Handling API rate limits
+
+API rate limits are restrictions on request frequency. For example, an API may limit the number of requests you can make per minute, or per day.
+
+APIs can also limits how much data you can send in one request, or how much data the API sends in a single response.
+
+## Identify rate limit issues
+
+When an n8n node hits a rate limit, it errors. n8n displays the error message in the node output panel. This includes the error message from the service.
+
+If n8n received error 429 (too many requests) from the service, the error message is **The service is receiving too many requests from you**.
+
+To check the rate limits for the service you're using, refer to the API documentation for the service.
+
+## Handle rate limits for integrations
+
+There are two ways to handle rate limits in n8n's integrations: using the Retry On Fail setting, or using a combination of the [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) and [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait/) nodes:
+
+* Retry On Fail adds a pause between API request attempts.
+* With Loop Over Items and Wait you can break you request data into smaller chunks, as well as pausing between requests.
+
+### Enable Retry On Fail
+
+When you enable Retry On Fail, the node automatically tries the request again if it fails the first time.
+
+1. Open the node.
+1. Select **Settings** .
+1. Enable the **Retry On Fail** toggle.
+1. Configure the retry settings: if using this to work around rate limits, set **Wait Between Tries (ms)** to more than the rate limit. For example, if the API you're using allows one request per second, set **Wait Between Tries (ms)** to `1000` to allow a 1 second wait.
+
+### Use Loop Over Items and Wait
+
+Use the Loop Over Items node to batch the input items, and the Wait node to introduce a pause between each request.
+
+1. Add the Loop Over Items node before the node that calls the API. Refer to [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) for information on how to configure the node.
+1. Add the Wait node after the node that calls the API, and connect it back to the Loop Over Items node. Refer to [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait/) for information on how to configure the node.
+
+For example, to handle rate limits when using OpenAI:
+
+
+
+## Handle rate limits in the HTTP Request node
+
+The HTTP Request node has built-in settings for handling rate limits and large amounts of data.
+
+### Batch requests
+
+Use the Batching option to send more than one request, reducing the request size, and introducing a pause between requests. This is the equivalent of using Loop Over Items and Wait.
+
+1. In the HTTP Request node, select **Add Option** > **Batching**.
+1. Set **Items per Batch**: this is the number of input items to include in each request.
+1. Set **Batch Interval (ms)** to introduce a delay between requests. For example, if the API you're using allows one request per second, set **Wait Between Tries (ms)** to `1000` to allow a 1 second wait.
+
+### Paginate results
+
+APIs paginate their results when they need to send more data than they can handle in a single response. For more information on pagination in the HTTP Request node, refer to [HTTP Request node | Pagination](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/#pagination).
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.acuityschedulingtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.acuityschedulingtrigger.md
index 36aa28e0b..779b041e8 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.acuityschedulingtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.acuityschedulingtrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Acuity Scheduling Trigger integrations](https://n8n.io/integrations/acuity-scheduling-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a new appointment is scheduled on Acuity Scheduling. You can also find the [workflow](https://n8n.io/workflows/533) on the website. This example usage workflow would use the following node.
-
-- [Acuity Scheduling Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Acuity Scheduling Trigger node
-
-1. First of all, you'll have to enter credentials for the Acuity Scheduling Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/acuityscheduling/).
-2. Select the `appointment.scheduled` option from the *Event* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Acuity Scheduling Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.affinitytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.affinitytrigger.md
index bad8f6265..850d77422 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.affinitytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.affinitytrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Affinity Trigger integrations](https://n8n.io/integrations/affinity-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a new list is created in Affinity. You can also find the [workflow](https://n8n.io/workflows/672) on n8n.io. This example usage workflow would use the following node.
-
-- [Affinity Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Affinity Trigger node
-
-1. First of all, you'll have to enter credentials for the Affinity Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/affinity/).
-2. Select 'list.created' from the ***Events*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Affinity Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.amqptrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.amqptrigger.md
index 907dbfd5f..bd66b2463 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.amqptrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.amqptrigger.md
@@ -15,29 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [AMQP integrations](https://n8n.io/integrations/amqp-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive messages for an [ActiveMQ](https://activemq.apache.org/) queue using AMQP Trigger. You can also find the [workflow](https://n8n.io/workflows/513) on the website. This example usage workflow would use the following node.
-
-- [AMQP Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. AMQP Trigger node
-
-1. First of all, you'll have to enter credentials for the AMQP Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/amqp/).
-2. Enter the name of the queue or topic in the *Queue / Topic* field.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the AMQP Trigger node.
-///
-
-
-
-
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.asanatrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.asanatrigger.md
index d138d8699..e02292b13 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.asanatrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.asanatrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Asana Trigger integrations](https://n8n.io/integrations/asana-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when an event occurs in Asana. You can also find the [workflow](https://n8n.io/workflows/654) on n8n.io. This example usage workflow would use the following node.
-
-- [Asana Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Asana Trigger node
-
-1. First of all, you'll have to enter credentials for the Asana Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/asana/).
-2. Enter the name of the resource in the ***Resource*** field.
-3. Enter the name of the workspace in the ***Workspace*** field.
-4. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Asana Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger.md
index 9db8b7190..b36c3d25a 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [AWS SNS Trigger integrations](https://n8n.io/integrations/aws-sns-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for events in AWS SNS. You can also find the [workflow](https://n8n.io/workflows/509) on the website. This example usage workflow would use the following node.
-
-- [AWS SNS Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. AWS SNS Trigger node
-
-1. First of all, you'll have to enter credentials for the AWS SNS Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/aws/).
-2. Select the topic you want to listen for in the *Topic* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the AWS SNS Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.bitbuckettrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.bitbuckettrigger.md
index b78e44574..df16bd06c 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.bitbuckettrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.bitbuckettrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Bitbucket Trigger integrations](https://n8n.io/integrations/bitbucket-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when events occur in a Bitbucket repository. You can also find the [workflow](https://n8n.io/workflows/529) on the website. This example usage workflow would use the following node.
-
-- [Bitbucket Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Bitbucket Trigger node
-
-1. First of all, you'll have to enter credentials for the Bitbucket Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/bitbucket/).
-2. Select 'Repository' from the *Resource* dropdown list.
-3. Select the repository you want to receive updates for from the *Repository* dropdown list.
-4. Select the events you want to receive updates for from the *Events* dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Bitbucket Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.boxtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.boxtrigger.md
index 9f6f7daf8..6c09de885 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.boxtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.boxtrigger.md
@@ -16,29 +16,6 @@ You can find authentication information for this node [here](/integrations/built
For usage examples and templates to help you get started, refer to n8n's [Box Trigger integrations](https://n8n.io/integrations/box-trigger/){:target=_blank .external-link} page.
///
-## Example Usage
-
-This workflow allows you to receive updates when events occur in Box. You can also find the [workflow](https://n8n.io/workflows/560) on the website. This example usage workflow would use the following node.
-
-- [Box Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Box Trigger node
-
-1. First of all, you'll have to enter credentials for the Box Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/box/).
-2. Select the events for which you want to receive updates for from the *Events* dropdown list.
-3. Select the type of item that will trigger an update from the *Target Type* dropdown list.
-4. Enter the target ID of the file/folder to be monitored for updates in the *Target ID* field.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Box Trigger node.
-///
-
## FAQs
### How do I find my Target ID in Box?
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.calendlytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.calendlytrigger.md
index 6678fdcd2..ef11bf774 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.calendlytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.calendlytrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Calendly Trigger integrations](https://n8n.io/integrations/calendly-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for events in Calendly. You can also find the [workflow](https://n8n.io/workflows/540) on the website. This example usage workflow would use the following node.
-
-- [Calendly Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Calendly Trigger node
-
-1. First of all, you'll have to enter credentials for the Calendly Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/calendly/).
-2. Select the events you want to receive updates for from the *Events* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Calendly Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.chargebeetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.chargebeetrigger.md
index 45e2af6ba..1b13cbf8d 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.chargebeetrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.chargebeetrigger.md
@@ -16,27 +16,6 @@ You can find authentication information for this node [here](/integrations/built
For usage examples and templates to help you get started, refer to n8n's [Chargebee Trigger integrations](https://n8n.io/integrations/chargebee-trigger/){:target=_blank .external-link} page.
///
-## Example Usage
-
-This workflow allows you to receive updates for events in Chargebee. You can also find the [workflow](https://n8n.io/workflows/486) on the website. This example usage workflow would use the following node.
-
-- [Chargebee Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Chargebee Trigger node
-
-1. First of all, you'll have to add the webhook URL in Chargebee. You can find instructions on how to do that in the FAQs below.
-2. Select the `*` option in the *Events* field to receive updates when any event is triggered.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Chargebee Trigger node.
-///
-
## FAQs
### How do I add my webhook URL in Chargebee?
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.ciscowebextrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.ciscowebextrigger.md
index ab75d9bcd..0880e8f25 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.ciscowebextrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.ciscowebextrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Webex by Cisco Trigger integrations](https://n8n.io/integrations/webex-by-cisco-trigger/){:target=_blank .external-link} page.
///
-
-## Example usage
-
-This workflow allows you to receive updates when meeting events occur in your Webex account. This example usage workflow uses the following node:
-
-- [Webex by Cisco Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Webex by Cisco Trigger node
-
-1. First enter your credentials for node. You can find out how to do that [here](/integrations/builtin/credentials/ciscowebex/).
-2. Select 'Meeting' from the *Resource* dropdown list.
-3. Select the events you want to receive updates for from the *Events* dropdown list.
-4. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Webex by Cisco Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clickuptrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clickuptrigger.md
index 2553c1586..14eecdf4f 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clickuptrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clickuptrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [ClickUp Trigger integrations](https://n8n.io/integrations/clickup-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for events in ClickUp. You can also find the [workflow](https://n8n.io/workflows/487) on the website. This example usage workflow would use the following node.
-
-- [ClickUp Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. ClickUp Trigger node
-
-1. First of all, you'll have to enter credentials for the ClickUp Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/clickup/).
-2. Select your team from the *Team* dropdown list.
-3. Select the `*` option in the *Events* field to receive updates for all the events.
-4. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the ClickUp Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clockifytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clockifytrigger.md
index 2773485a5..85115f681 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clockifytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.clockifytrigger.md
@@ -17,27 +17,3 @@ For usage examples and templates to help you get started, refer to n8n's [Clocki
///
**Note:** This node uses the workflow timezone setting to specify the range of time entries starting time. You have to configure the workflow timezone setting if you want this Trigger node to retrieve the right time entries.
-
-## Example Usage
-
-This workflow allows you to get new time entries from Clockify. You can also find the [workflow](https://n8n.io/workflows/536) on the website. This example usage workflow would use the following node.
-
-- [Clockify Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Clockify Trigger node
-
-1. First enter your credentials for the Clockify Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/clockify/).
-2. Select the *Workspace* you want to receive updates for using the dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-**Note:** This node uses polling to get new time entries. You have to use the *Add Poll Time* button if you want this Trigger node to run and retrieve new time entries regularly.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Clockify Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.convertkittrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.convertkittrigger.md
index 888d64cd4..031b5a5f3 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.convertkittrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.convertkittrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [ConvertKit Trigger integrations](https://n8n.io/integrations/convertkit-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a subscriber is added through a form in ConvertKit. You can also find the [workflow](https://n8n.io/workflows/644) on n8n.io. This example usage workflow would use the following node.
-
-- [ConvertKit Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. ConvertKit Trigger node
-
-1. First of all, you'll have to enter credentials for the ConvertKit Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/convertkit/).
-2. Select 'Form Subscribe' from the ***Event*** dropdown list.
-3. Select the form from the ***Form ID*** dropdown list.
-4. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the ConvertKit Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.coppertrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.coppertrigger.md
index 900a116c3..4aa6a6c36 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.coppertrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.coppertrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Copper Trigger integrations](https://n8n.io/integrations/copper-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive an update when a new project is created in Copper. You can also find the [workflow](https://n8n.io/workflows/537) on the website. This example usage workflow would use the following node.
-
-- [Copper Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Copper Trigger node
-
-1. First of all, you'll have to enter credentials for the Copper Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/copper/).
-2. Select 'Project' from the *Resource* dropdown list.
-3. Select 'New' from the *Event* dropdown list.
-4. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Copper Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.customeriotrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.customeriotrigger.md
index 29dcf5901..cff4eb103 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.customeriotrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.customeriotrigger.md
@@ -15,23 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Customer.io Trigger integrations](https://n8n.io/integrations/customerio-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a subscriber unsubscribes in Customer.io. You can also find the [workflow](https://n8n.io/workflows/645) on n8n.io. This example usage workflow would use the following node.
-
-- [Customer.io Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Customer.io Trigger node
-
-1. First of all, you'll have to enter credentials for the Customer.io Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/customerio/).
-2. Select 'Customer Unsubscribe' from the ***Event*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Customer.io Trigger node.
-///
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.eventbritetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.eventbritetrigger.md
index b745e8cee..59ea35bc3 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.eventbritetrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.eventbritetrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Eventbrite Trigger integrations](https://n8n.io/integrations/eventbrite-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to get updates for an Eventbrite event. You can also find the [workflow](https://n8n.io/workflows/538) on the website. This example usage workflow would use the following node.
-
-- [Eventbrite Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Eventbrite Trigger node
-
-1. First of all, you'll have to enter credentials for the Eventbrite Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/eventbrite/).
-2. Select the profile that contains your event from the *Organization* dropdown list.
-3. Select the event you want to receive updates for from the *Event* dropdown list.
-4. Select the actions that you want to receive updates for from the *Actions* dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Eventbrite Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.flowtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.flowtrigger.md
index 62aea34f0..b9132babf 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.flowtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.flowtrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Flow Trigger integrations](https://n8n.io/integrations/flow-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for specified tasks in Flow. You can also find the [workflow](https://n8n.io/workflows/508) on the website. This example usage workflow would use the following node.
-
-- [Flow Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Flow Trigger node
-
-1. First of all, you'll have to enter credentials for the Flow Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/flow/).
-2. Select 'Task' from the *Resource* dropdown list.
-3. Enter one or more task IDs separated by commas in the *Task ID* field. You can find the task ID by clicking on the task in Flow and copying the number after `tasks/` in the URL.
-4. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Flow Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formiotrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formiotrigger.md
index 2463852bf..df3837743 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formiotrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formiotrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Form.io Trigger integrations](https://n8n.io/integrations/formio-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for newly created submissions in Form.io. This example workflow uses the following node:
-
-- [Form.io Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Form.io Trigger node
-
-1. First enter credentials for the Form.io Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/formiotrigger/).
-2. Select the project you want to receive updates for using the *Project Name/ID* dropdown list.
-3. Select the form you want to receive updates for using the *Form Name/ID* dropdown list.
-4. Select **Submission Created** from the *Trigger Events* dropdown list.
-5. Click on **Test step** to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Form.io Trigger node.
-///
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formstacktrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formstacktrigger.md
index a90e7201a..f38366049 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formstacktrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.formstacktrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Formstack Trigger integrations](https://n8n.io/integrations/formstack-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for newly created submissions in Formstack forms. This example workflow uses the following node:
-
-- [Formstack Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Formstack Trigger node
-
-1. First enter credentials for the Formstack Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/formstacktrigger/).
-2. Enter the form you want to receive updates for using the *Form Name/ID* field.
-3. Click on **Test step** to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Form.io Trigger node.
-///
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md
index 342f23a40..388f749e3 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [GitHub Trigger integrations](https://n8n.io/integrations/github-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for GitHub events. You can also find the [workflow](https://n8n.io/workflows/527) on the website. This example usage workflow would use the following node.
-
-- [GitHub Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. GitHub Trigger node
-
-1. First of all, you'll have to enter credentials for the GitHub Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/github/).
-2. Enter the repository owner in the *Repository Owner* field.
-3. Enter the repository name in the *Repository Name* field.
-4. Select the `*` option in the *Events* field to receive updates when any event is triggered.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the GitHub Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md
index 03e1f6dea..c5dfb3c8e 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [GitLab Trigger integrations](https://n8n.io/integrations/gitlab-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for GitLab events. You can also find the [workflow](https://n8n.io/workflows/528) on the website. This example usage workflow would use the following node.
-
-- [GitLab Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. GitLab Trigger node
-
-1. First of all, you'll have to enter credentials for the GitLab Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/gitlab/).
-2. Enter the repository owner in the *Repository Owner* field.
-3. Enter the repository name in the *Repository Name* field.
-4. Select the `*` option in the *Events* field to receive updates when any event is triggered.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the GitLab Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.googledrivetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.googledrivetrigger.md
index 583236eff..82e0ab373 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.googledrivetrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.googledrivetrigger.md
@@ -19,37 +19,3 @@ For usage examples and templates to help you get started, refer to n8n's [Google
/// note | Manual Executions vs. Activation
On manual executions this node will return the last event matching its search criteria. If no event matches the criteria (for example because you are watching for files to be created but no files have been created so far), an error is thrown. Once saved and activated, the node will regularly check for any matching events and will trigger your workflow for each event found.
///
-
-## Example Usage
-
-This workflow sends out email notifications when a new file has been uploaded to Google Drive. It uses two nodes:
-
-- [Google Drive Trigger]()
-- [Send Email](/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/)
-
-The final workflow should look like the image below.
-
-
-
-### 1. Google Drive Trigger node
-
-1. Enter valid credentials for the Google Drive Trigger node. You can find out how to do so [here](/integrations/builtin/credentials/google/).
-2. Select the `Changes involving a Specific Folder` option in the ***Trigger On*** field.
-3. Paste the URL of a Google Drive folder in the ***Folder URL or ID*** field.
-4. Select `File Created` in the ***Watch For*** field.
-5. Click on *Execute Node* to execute the node.
-
-In the screenshot below you can see the file returned by the node.
-
-
-
-### 2. Send Email node
-
-1. Enter valid credentials for the Send Email node. You can find out how to do so [here](/integrations/builtin/credentials/sendemail/).
-2. Enter valid emails in the ***From Email*** and ***To Email*** fields.
-3. Enter `File Created` in the ***Subject*** field.
-4. Click on the gear icon next to the ***Text*** field and choose ***Add Expression***.
-5. Enter `A file in your Google Drive file folder has been created: {{$json["name"]}}` and close the expression editor.
-6. Click on ***Execute Node* to execute the node.
-
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gumroadtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gumroadtrigger.md
index ee6251051..bc670e482 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gumroadtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.gumroadtrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Gumroad Trigger integrations](https://n8n.io/integrations/gumroad-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a sale is made in Gumroad. You can also find the [workflow](https://n8n.io/workflows/650) on n8n.io. This example usage workflow would use the following node.
-
-- [Gumroad Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Gumroad Trigger node
-
-1. First of all, you'll have to enter credentials for the Gumroad Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/gumroad/).
-2. Select 'Sale' from the ***Resource*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Gumroad Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.helpscouttrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.helpscouttrigger.md
index b47256dfb..ae6873cb0 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.helpscouttrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.helpscouttrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Help Scout Trigger integrations](https://n8n.io/integrations/helpscout-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a customer is created in Help Scout. You can also find the [workflow](https://n8n.io/workflows/669) on n8n.io. This example usage workflow would use the following node.
-
-- [Help Scout Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Help Scout Trigger node
-
-1. First of all, you'll have to enter credentials for the Help Scout Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/helpscout/).
-2. Select 'Customer - Created' from the ***Events*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Help Scout Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.invoiceninjatrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.invoiceninjatrigger.md
index 4e490c86b..98e3786c6 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.invoiceninjatrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.invoiceninjatrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Invoice Ninja Trigger integrations](https://n8n.io/integrations/invoice-ninja-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when new invoices are created in Invoice Ninja. You can also find the [workflow](https://n8n.io/workflows/535) on the website. This example usage workflow would use the following node.
-
-- [Invoice Ninja Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Invoice Ninja Trigger node
-
-1. First of all, you'll have to enter credentials for the Invoice Ninja Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/invoiceninja/).
-2. Select the 'Invoice Created' option from the *Event* dropdown list to receive updates when a new invoice is created.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Invoice Ninja Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jiratrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jiratrigger.md
index 68b2a285e..038220ed6 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jiratrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jiratrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Jira trigger integrations](https://n8n.io/integrations/jira-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for Jira events. You can also find the [workflow](https://n8n.io/workflows/569) on the website. This example usage workflow would use the following node.
-
-- [Jira Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Jira Trigger node
-
-1. First of all, you'll have to enter credentials for the Jira Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/jira/).
-2. Select the `*` option in the *Events* field to receive updates when any event is triggered.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Jira Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger.md
index d15cd3a13..96a5c1193 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [JotForm Trigger integrations](https://n8n.io/integrations/jotform-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for form events in JotForm. You can also find the [workflow](https://n8n.io/workflows/541) on the website. This example usage workflow would use the following node.
-
-- [JotForm Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. JotForm Trigger node
-
-1. First of all, you'll have to enter credentials for the JotForm Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/jotform/).
-2. Select the form you want to receive updates for from the *Form* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the JotForm Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.keaptrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.keaptrigger.md
index d77be389f..0be38307b 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.keaptrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.keaptrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Keap Trigger integrations](https://n8n.io/integrations/keap-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when new contacts are created in Keap. You can also find the [workflow](https://n8n.io/workflows/554) on the website. This example usage workflow would use the following node.
-
-- [Keap Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Keap Trigger node
-
-1. First of all, you'll have to enter credentials for the Keap Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/keap/).
-2. Select the 'Contact Add' option from the *Event* dropdown list to receive updates when a new contact is created.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Keap Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailchimptrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailchimptrigger.md
index da3ab5321..64d915e74 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailchimptrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailchimptrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Mailchimp Trigger integrations](https://n8n.io/integrations/mailchimp-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when Subscribe events occur in a MailChimp list. You can also find the [workflow](https://n8n.io/workflows/516) on the website. This example usage workflow would use the following node.
-
-- [Mailchimp Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Mailchimp Trigger node
-
-1. First of all, you'll have to enter credentials for the Mailchimp Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/mailchimp/).
-2. Select the list you want to listen to from the *List* dropdown list.
-3. Select 'Subscribe' from the *Events* dropdown list.
-4. Select 'API', 'Admin', and 'User' from the *Sources* dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Mailchimp Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailjettrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailjettrigger.md
index 3ce08ba1c..ff39b9425 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailjettrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mailjettrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Mailjet Trigger integrations](https://n8n.io/integrations/mailjet-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when emails are sent in Mailjet. You can also find the [workflow](https://n8n.io/workflows/521) on the website. This example usage workflow would use the following node.
-
-- [Mailjet Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Mailjet Trigger node
-
-1. First of all, you'll have to enter credentials for the Mailjet Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/mailjet/).
-2. Select the `email.sent` option from the *Event* dropdown list to receive updates when an email is sent.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Mailjet Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftonedrivetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftonedrivetrigger.md
new file mode 100644
index 000000000..d46d70a4a
--- /dev/null
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftonedrivetrigger.md
@@ -0,0 +1,41 @@
+---
+title: Microsoft OneDrive trigger
+description: Documentation for the Microsoft OneDrive trigger node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+---
+
+# Microsoft OneDrive trigger
+
+Use the Microsoft OneDrive trigger node to respond to events in Microsoft OneDrive and integrate Microsoft OneDrive with other applications. n8n has built-in support for file and folder events in OneDrive.
+
+
+On this page, you'll find a list of events the Microsoft OneDrive trigger node can respond to, and links to more resources.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/microsoft/).
+///
+
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [Microsoft OneDrive integrations](https://n8n.io/integrations/microsoft-onedrive-trigger/){:target=_blank .external-link} page.
+///
+
+## Events
+
+* On File Created
+* On File Updated
+* On Folder Created
+* On Folder Updates
+
+## Related resources
+
+
+n8n provides an app node for Microsoft OneDrive. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.microsoftonedrive/).
+
+
+View [example workflows and related content](https://n8n.io/integrations/microsoft-onedrive-trigger/){:target=_blank .external-link} on n8n's website.
+
+
+Refer to [Microsoft's OneDrive API documentation](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/){:target=_blank .external-link} for more information about the service.
+
+
+
+
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftoutlooktrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftoutlooktrigger.md
new file mode 100644
index 000000000..a651e870d
--- /dev/null
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftoutlooktrigger.md
@@ -0,0 +1,27 @@
+---
+title: Microsoft Outlook trigger
+description: Documentation for the Microsoft Outlook trigger node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+---
+
+# Microsoft Outlook trigger
+
+Use the Microsoft Outlook trigger node to respond to events in Microsoft Outlook and integrate Microsoft Outlook with other applications.
+
+On this page, you'll find a list of events the Microsoft Outlook trigger node can respond to, and links to more resources.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/microsoft/).
+///
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [Microsoft Outlook integrations](https://n8n.io/integrations/_Name_/){:target=_blank .external-link} page.
+///
+## Events
+
+* Message Received
+
+## Related resources
+
+n8n provides an app node for Microsoft Outlook. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.microsoftoutlook/).
+
+View [example workflows and related content](https://n8n.io/integrations/_Name_/){:target=_blank .external-link} on n8n's website.
+
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger.md
index 82041f879..4e5967331 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [MQTT Trigger integrations](https://n8n.io/integrations/mqtt-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive messages from a queue using the MQTT Trigger node. You can also find the [workflow](https://n8n.io/workflows/657) on the website. This example usage workflow would use the following node.
-
-- [MQTT Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. MQTT Trigger node
-
-1. First of all, you'll have to enter credentials for the MQTT Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/mqtt/).
-2. Enter the name of the topic in the ***Topics*** field.
-3. Click on ***Test step*** to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the MQTT Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.netlifytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.netlifytrigger.md
index 0ce830c5b..7cb73d05a 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.netlifytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.netlifytrigger.md
@@ -18,7 +18,7 @@ For usage examples and templates to help you get started, refer to n8n's [Netlif
## Related resources
-n8n provides an app node for _Name_. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.netlify/).
+n8n provides an app node for Netlify. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.netlify/).
View [example workflows and related content](https://n8n.io/integrations/netlify/){:target=_blank .external-link} on n8n's website.
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger.md
index 6bd432d0a..076615406 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.paypaltrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [PayPal Trigger integrations](https://n8n.io/integrations/paypal-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a billing plan is activated in PayPal. You can also find the [workflow](https://n8n.io/workflows/653) on n8n.io. This example usage workflow would use the following node.
-
-- [PayPal Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. PayPal Trigger node
-
-1. First of all, you'll have to enter credentials for the PayPal Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/paypal/).
-2. Select 'Billing Plan Activated' from the ***Events*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the PayPal Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger.md
index 02c3f647c..bec81a8be 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.pipedrivetrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Pipedrive Trigger integrations](https://n8n.io/integrations/pipedrive-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for all changes in Pipedrive. You can also find the [workflow](https://n8n.io/workflows/490) on the website. This example usage workflow would use the following node.
-
-- [Pipedrive Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Pipedrive Trigger node
-
-1. First of all, you'll have to enter credentials for the Pipedrive Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/pipedrive/).
-2. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Pipedrive Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.postmarktrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.postmarktrigger.md
index 639b04c95..6900e8537 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.postmarktrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.postmarktrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Postmark Trigger integrations](https://n8n.io/integrations/postmark-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when an email is bounced or opened using the Postmark Trigger Node. You can also find the [workflow](https://n8n.io/workflows/660) on n8n.io. This example usage workflow would use the following node.
-
-- [Postmark Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Postmark Trigger node
-
-1. First of all, you'll have to enter credentials for the Postmark Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/postmark/).
-2. Select 'Bounce' from the ***Events*** dropdown list.
-3. Select 'Open' from the ***Events*** dropdown list.
-4. Toggle the ***Include Content*** field to true.
-5. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Postmark Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.salesforcetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.salesforcetrigger.md
new file mode 100644
index 000000000..df38e6429
--- /dev/null
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.salesforcetrigger.md
@@ -0,0 +1,44 @@
+---
+title: Salesforce trigger
+description: Documentation for the Salesforce trigger node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+---
+# Salesforce trigger
+
+
+Use the Salesforce trigger node to respond to events in Salesforce and integrate Salesforce with other applications. n8n has built-in support for a wide range of Salesforce events.
+
+On this page, you'll find a list of events the Salesforce trigger node can respond to, and links to more resources.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/salesforce/).
+///
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [Salesforce trigger integrations](https://n8n.io/integrations/salesforce-trigger/){:target=_blank .external-link} page.
+///
+
+## Events
+
+* On Account Created
+* On Account Updated
+* On Attachment Created
+* On Attachment Updated
+* On Case Created
+* On Case Updated
+* On Contact Created
+* On Contact Updated
+* On Custom Object Created
+* On Custom Object Updated
+* On Lead Created
+* On Lead Updated
+* On Opportunity Created
+* On Opportunity Updated
+* On Task Created
+* On Task Updated
+* On User Created
+* On User Updated
+
+## Related resources
+
+n8n provides an app node for Salesforce. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.salesforce/).
+
+View [example workflows and related content](https://n8n.io/integrations/salesforce-trigger/){:target=_blank .external-link} on n8n's website.
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.seatabletrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.seatabletrigger.md
index 7a05fdce6..31695604e 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.seatabletrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.seatabletrigger.md
@@ -15,30 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [SeaTable Trigger integrations](https://n8n.io/integrations/seatable-trigger/){:target=_blank .external-link} page.
///
-
-## Example usage
-
-This workflow allows you to receive updates when new rows are created in a Table. This example usage workflow would use the following node.
-
-- [SeaTable Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. SeaTable Trigger node
-
-1. First enter your credentials for the SeaTable Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/seatable/).
-2. Select the **Table** you want to receive updates for.
-3. From the ***Events*** dropdown select **Row Created**.
-3. Click on **Test step** to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the node.
-///
-
-
-
-
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger.md
index a5f219a51..aa943776d 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.shopifytrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Shopify Trigger integrations](https://n8n.io/integrations/shopify-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a new order is created in Shopify. You can also find the [workflow](https://n8n.io/workflows/547) on the website. This example usage workflow would use the following node.
-
-- [Shopify Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Shopify Trigger node
-
-1. First of all, you'll have to enter credentials for the Shopify Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/shopify/).
-2. Select 'Orders create' from the *Topic* dropdown list.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Shopify Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.stripetrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.stripetrigger.md
index 47cca2118..1bf9e4e03 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.stripetrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.stripetrigger.md
@@ -15,28 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Stripe Trigger integrations](https://n8n.io/integrations/stripe-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for Stripe events. You can also find the [workflow](https://n8n.io/workflows/545) on the website. This example usage workflow would use the following node.
-- [Stripe Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Stripe Trigger node
-
-1. First of all, you'll have to enter credentials for the Stripe Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/stripe/).
-2. Select the `*` option in the *Events* field to receive updates when any event is triggered.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Stripe Trigger node.
-///
-
-
-
-
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.surveymonkeytrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.surveymonkeytrigger.md
index c2b3855d3..75fe21ddd 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.surveymonkeytrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.surveymonkeytrigger.md
@@ -15,27 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [SurveyMonkey Trigger integrations](https://n8n.io/integrations/surveymonkey-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when responses are created for SurveyMonkey surveys. You can also find the [workflow](https://n8n.io/workflows/551) on the website. This example usage workflow would use the following node.
-
-- [SurveyMonkey Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. SurveyMonkey Trigger node
-
-1. First of all, you'll have to enter credentials for the SurveyMonkey Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/surveymonkey/).
-2. Select the 'Survey' option from the *Type* dropdown list.
-3. Select 'Response Created' from the *Event* dropdown list.
-4. Select the surveys you want to receive updates for from the *Survey IDs* dropdown list.
-5. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the SurveyMonkey Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.taigatrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.taigatrigger.md
index 32dfea8a6..60d020bfb 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.taigatrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.taigatrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Taiga Trigger integrations](https://n8n.io/integrations/taiga-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when an event occurs in Taiga. You can also find the [workflow](https://n8n.io/workflows/686) on n8n.io. This example usage workflow would use the following node.
-
-- [Taiga Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Taiga Trigger node
-
-1. First of all, you'll have to enter credentials for the Taiga Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/taiga/).
-2. Select the project ID from the ***Project ID*** dropdown list.
-2. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Taiga Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger.md
index fabdff921..03caca560 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger.md
@@ -28,69 +28,3 @@ For usage examples and templates to help you get started, refer to n8n's [Telegr
- **shipping_query**: Trigger on a new incoming shipping query. Only for invoices with flexible price
- **pre_checkout_query**: Trigger on a new incoming pre-checkout query. Contains full information about checkout
- **poll**: Trigger on a new poll state. Bots receive only updates about stopped polls and polls which are sent by the bot
-
-## Example Usage
-
-This workflow allows you to receive messages using the Telegram Trigger node and send an image of a cocktail when a message is received. You can also find the [workflow](https://n8n.io/workflows/782) on n8n.io. This example usage workflow would use the following nodes.
-
-- [Telegram Trigger]()
-- [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)
-- [Telegram](/integrations/builtin/app-nodes/n8n-nodes-base.telegram/)
-
-The final workflow should look like the following image.
-
-
-
-### 1. Telegram Trigger node
-
-This node will trigger the workflow when a user sends a new message.
-
-1. First of all, you'll have to enter credentials for the Telegram Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/telegram/).
-2. Select 'message' from the **Updates** dropdown list. This will trigger the workflow when a user sends a message.
-3. Click on **Test Step** to run the node.
-
-In the screenshot below, you will notice that the node triggers the workflow when a user sends a new message.
-
-
-
-### 2. HTTP Request node (GET)
-
-This node will make a GET request to the API `https://www.thecocktaildb.com/api/json/v1/1/random.php` to fetch a random cocktail. This information gets passed on to the next node in the workflow.
-
-1. Enter `https://www.thecocktaildb.com/api/json/v1/1/random.php` in the **URL** field.
-2. Click on **Test Step** to run the node.
-
-In the screenshot below, you will notice that the node makes a GET request to the API and returns information about a random cocktail.
-
-
-
-### 3. Telegram node (`sendPhoto: message`)
-
-This node will send a reply to the message with the name and image of the cocktail that we got from the previous node.
-
-1. Select the credentials that you entered in the Telegram Trigger node.
-2. Select 'Send Photo' from the **Operation** dropdown list.
-3. Click on the gears icon next to the **Chat ID** field and click on **Add Expression**.
-4. Select the following in the **Variable Selector** section: Nodes > Telegram Trigger > Output Data > JSON > message > chat > id. You can also add the following expression: `{{$node["Telegram Trigger"].json["message"]["chat"]["id"]}}`.
-5. Click on the gears icon next to the **Photo** field and click on **Add Expression**.
-6. Select the following in the **Variable Selector** section: Nodes > HTTP Request > Output Data > JSON > drinks > [item: 0] > strDrinkThumb. You can also add the following expression: `{{$node["HTTP Request"].json["drinks"][0]["strDrinkThumb"]}}`.
-7. Click on **Add Field** and select 'Caption' from the dropdown list.
-8. Click on the gears icon next to the **Caption** field and click on **Add Expression**.
-9. Select the following in the **Variable Selector** section: **Nodes > HTTP Request > Output Data > JSON > drinks > [item: 0] > strDrink**. You can also add the following expression: `{{$node["HTTP Request"].json["drinks"][0]["strDrink"]}}`.
-10. Click on **Add Field** and select 'Reply To Message ID' from the dropdown list.
-11. Click on the gears icon next to the **Reply To Message ID** field and click on **Add Expression**.
-12. Select the following in the **Variable Selector** section: **Nodes > Telegram Trigger > Output Data > JSON > message > message_id**. You can also add the following expression: `{{$node["Telegram Trigger"].json["message"]["message_id"]}}`.
-13. Click on **Execute Node** to run the node.
-
-In the screenshot below, you will notice that the node sends a reply to the message with the name and image of the cocktail that we got from the previous node.
-
-
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Telegram Trigger node.
-///
-
-
-
-
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.toggltrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.toggltrigger.md
index c6bb76543..3dbd9f592 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.toggltrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.toggltrigger.md
@@ -15,26 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Toggl Trigger integrations](https://n8n.io/integrations/toggl-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to get new time entries from Toggl. You can also find the [workflow](https://n8n.io/workflows/517) on the website. This example usage workflow would use the following node.
-
-- [Toggl Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Toggl Trigger node
-
-1. First of all, you'll have to enter credentials for the Toggl Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/toggl/).
-2. Click on *Execute Node* to run the workflow.
-
-**Note:** This node uses polling to get new time entries. You'll have to use the *Add Poll Time* button if you want this Trigger node to run regularly to retrieve new time entries.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Toggl Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.trellotrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.trellotrigger.md
index 83a2c320a..92785fff5 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.trellotrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.trellotrigger.md
@@ -16,28 +16,6 @@ You can find authentication information for this node [here](/integrations/built
For usage examples and templates to help you get started, refer to n8n's [Trello Trigger integrations](https://n8n.io/integrations/trello-trigger/){:target=_blank .external-link} page.
///
-## Example Usage
-
-This workflow allows you to receive updates for changes in the specified list in Trello. You can also find the [workflow](https://n8n.io/workflows/491) on the website. This example usage workflow would use the following node.
-
-- [Trello Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-
-### 1. Trello Trigger node
-
-1. First of all, you'll have to enter credentials for the Trello Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/trello/).
-2. Enter the ID of the list in the *Model ID* field. You can find instructions on how to do that in the FAQs below.
-3. Click on *Execute Node* to run the workflow.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Trello Trigger node.
-///
-
-
## FAQs
### Find the Model ID
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.twiliotrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.twiliotrigger.md
new file mode 100644
index 000000000..3c2b67956
--- /dev/null
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.twiliotrigger.md
@@ -0,0 +1,34 @@
+---
+title: Twilio trigger
+description: Documentation for the Twilio trigger node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+---
+
+# Twilio trigger
+
+Use the Twilio trigger node to respond to events in Twilio and integrate Twilio with other applications. n8n has built-in support for a wide range of Twilio events.
+
+On this page, you'll find a list of events the Twilio trigger node can respond to, and links to more resources.
+
+/// note | Credentials
+You can find authentication information for this node [here](/integrations/builtin/credentials/twilio/).
+///
+
+/// note | Examples and templates
+For usage examples and templates to help you get started, refer to n8n's [Twilio integrations](https://n8n.io/integrations/twilio-trigger/){:target=_blank .external-link} page.
+///
+## Events
+
+* On New SMS
+* On New Call
+
+/// note | New Call Delay
+It can take Twilio up to thirty minutes to generate a summary for a completed call.
+///
+
+## Related resources
+
+n8n provides an app node for Twilio. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.twilio/).
+
+View [example workflows and related content](https://n8n.io/integrations/twilio/){:target=_blank .external-link} on n8n's website.
+
+Refer to [Twilio's documentation](https://www.twilio.com/docs){:target=_blank .external-link} for details about their API.
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.webflowtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.webflowtrigger.md
index 737f69ee5..10afeb28b 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.webflowtrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.webflowtrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Webflow Trigger integrations](https://n8n.io/integrations/webflow-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a form submission occurs in your Webflow website. You can also find the [workflow](https://n8n.io/workflows/651) on n8n.io. This example usage workflow would use the following node.
-
-- [Webflow Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Webflow Trigger node
-
-1. First of all, you'll have to enter credentials for the Webflow Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/webflow/).
-2. Select your website from the ***Site*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Webflow Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.wufootrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.wufootrigger.md
index 66160cca1..967d0dac0 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.wufootrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.wufootrigger.md
@@ -15,24 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Wufoo Trigger integrations](https://n8n.io/integrations/wufoo-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates when a form is submitted in Wufoo. You can also find the [workflow](https://n8n.io/workflows/703) on n8n.io. This example usage workflow would use the following node.
-
-- [Wufoo Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Wufoo Trigger node
-
-1. First of all, you'll have to enter credentials for the Wufoo Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/wufoo/).
-2. Select a form from the ***Forms*** dropdown list.
-3. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Wufoo Trigger node.
-///
-
diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.zendesktrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.zendesktrigger.md
index 3f54e98d6..5b82aa4ec 100644
--- a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.zendesktrigger.md
+++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.zendesktrigger.md
@@ -15,25 +15,3 @@ You can find authentication information for this node [here](/integrations/built
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Zendesk Trigger integrations](https://n8n.io/integrations/zendesk-trigger/){:target=_blank .external-link} page.
///
-
-## Example Usage
-
-This workflow allows you to receive updates for support in Zendesk. You can also find the [workflow](https://n8n.io/workflows/648) on n8n.io. This example usage workflow would use the following node.
-
-- [Zendesk Trigger]()
-
-The final workflow should look like the following image.
-
-
-
-### 1. Zendesk Trigger node
-
-1. First of all, you'll have to enter credentials for the Zendesk Trigger node. You can find out how to do that [here](/integrations/builtin/credentials/zendesk/).
-2. Click on the ***Add Condition*** button and select 'All' from the dropdown list.
-3. Select 'Open' from the ***Value*** dropdown list.
-4. Click on ***Test step*** to run the node.
-
-/// note | Activate workflow for production
-You'll need to save the workflow and then click on the Activate toggle on the top right of the screen to activate the workflow. Your workflow will then be triggered as specified by the settings in the Zendesk Trigger node.
-///
-
diff --git a/docs/integrations/community-nodes/index.md b/docs/integrations/community-nodes/index.md
deleted file mode 100644
index e17b3739a..000000000
--- a/docs/integrations/community-nodes/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-contentType: overview
----
-
-# Community nodes
-
-n8n provides hundreds of built-in nodes. It also supports users [creating their own nodes](/integrations/creating-nodes/). These are community nodes.
-
-The community nodes repository allows users who create nodes to publish them to npm. These nodes are then available to install and use in your n8n instance.
-
-/// note | Only available on self-hosted instances
-Community nodes aren't available on n8n cloud and require [self-hosting](/hosting/) n8n.
-///
diff --git a/docs/integrations/community-nodes/installation/index.md b/docs/integrations/community-nodes/installation/index.md
index a32a5fe06..38413ca33 100644
--- a/docs/integrations/community-nodes/installation/index.md
+++ b/docs/integrations/community-nodes/installation/index.md
@@ -8,3 +8,7 @@ There are two ways to install community nodes:
* Within n8n [using the GUI](/integrations/community-nodes/installation/gui-install/).
* [Manually from the command line](/integrations/community-nodes/installation/manual-install/): use this method if your n8n instance doesn't support installation through the in-app GUI.
+
+/// note | Only available on self-hosted instances
+Community nodes aren't available on n8n cloud and require [self-hosting](/hosting/) n8n.
+///
diff --git a/docs/integrations/creating-nodes/index.md b/docs/integrations/creating-nodes/overview.md
similarity index 100%
rename from docs/integrations/creating-nodes/index.md
rename to docs/integrations/creating-nodes/overview.md
diff --git a/docs/integrations/index.md b/docs/integrations/index.md
index 2a69edf8f..39f2d8f1e 100644
--- a/docs/integrations/index.md
+++ b/docs/integrations/index.md
@@ -10,11 +10,11 @@ Nodes are the building blocks of workflows in n8n. They're an entry point for re
## Built-in nodes
-n8n includes a collection of built-in integrations. Refer to [Built-in nodes](/integrations/builtin/) for documentation on all n8n's built-in nodes.
+n8n includes a collection of built-in integrations. Refer to [Built-in nodes](/integrations/builtin/node-types/) for documentation on all n8n's built-in nodes.
## Community nodes
-As well as using the built-in nodes, you can also install community-built nodes. Refer to [Community nodes](/integrations/community-nodes/) for more information.
+As well as using the built-in nodes, you can also install community-built nodes. Refer to [Community nodes](/integrations/community-nodes/installation/) for more information.
## Credential-only nodes and custom operations
@@ -28,7 +28,7 @@ If you need to connect to a service where n8n doesn't have a node, or a credenti
## Where to go next
-* If you want to create your own node, head over to the [Creating Nodes](/integrations/creating-nodes/) section.
+* If you want to create your own node, head over to the [Creating Nodes](/integrations/creating-nodes/overview/) section.
* Check out [Community nodes](/integrations/community-nodes) to learn about installing and managing community-built nodes.
* If you'd like to learn more about the different nodes in n8n, their functionalities and example usage, check out n8n's node libraries: [Core nodes](/integrations/builtin/core-nodes/), [Actions](/integrations/builtin/app-nodes/), and [Triggers](/integrations/builtin/trigger-nodes/).
* If you'd like to learn how to add the credentials for the different nodes, head over to the [Credentials](/integrations/builtin/credentials/) section.
diff --git a/docs/log-streaming.md b/docs/log-streaming.md
index bbb276c3e..e5191995f 100644
--- a/docs/log-streaming.md
+++ b/docs/log-streaming.md
@@ -23,7 +23,7 @@ To use log streaming, you have to add a streaming destination.
6. Select **Save**.
/// note | Self-hosted users
-If you self-host n8n, you can configure additional log streaming behavior using [Environment variables](/hosting/environment-variables/environment-variables/#log-streaming).
+If you self-host n8n, you can configure additional log streaming behavior using [Environment variables](/hosting/configuration/environment-variables/logs/#log-streaming).
///
## Events
@@ -48,6 +48,8 @@ The following events are available. You can choose which events to stream in **S
* User reset
* User credentials created
* User credentials shared
+ * User credentials updated
+ * User credentials deleted
* User API created
* User API deleted
* Package installed
diff --git a/docs/manage-cloud/index.md b/docs/manage-cloud/overview.md
similarity index 87%
rename from docs/manage-cloud/index.md
rename to docs/manage-cloud/overview.md
index 3ae2912be..156163982 100644
--- a/docs/manage-cloud/index.md
+++ b/docs/manage-cloud/overview.md
@@ -11,7 +11,7 @@ n8n Cloud is n8n's hosted solution. It provides:
- Managed OAuth for authentication
- One-click upgrades to the newest n8n versions
-[Sign up for n8n Cloud](https://www.n8n.cloud/){:target=_blank .external-link}
+[Sign up for n8n Cloud](https://www.n8n.io/){:target=_blank .external-link}
/// note | Russia and Belarus
n8n Cloud isn't available in Russia and Belarus. Refer to this blog post: [Update on n8n cloud accounts in Russia and Belarus](https://n8n.io/blog/update-on-n8n-cloud-accounts-in-russia-and-belarus/) for more information.
diff --git a/docs/manage-cloud/update-cloud-version.md b/docs/manage-cloud/update-cloud-version.md
index ec18a4ece..fee27bdb6 100644
--- a/docs/manage-cloud/update-cloud-version.md
+++ b/docs/manage-cloud/update-cloud-version.md
@@ -7,8 +7,7 @@ contentType: howto
n8n recommends regularly updating your Cloud version. Check the [Release notes](/release-notes/) to learn more about changes.
-1. [Log in to n8n](https://app.n8n.cloud/magic-link){:target=_blank .external-link}
-1. Select **Admin Dashboard**. n8n opens the dashboard.
+1. [Log in to the n8n Cloud dashboard](https://app.n8n.cloud/manage){:target=_blank .external-link}
1. On your dashboard, select **Manage**.
1. Use the **n8n version** dropdown to select your preferred release version:
* Latest Stable: recommended for most users.
diff --git a/docs/privacy-security/privacy.md b/docs/privacy-security/privacy.md
index 4ddb4e350..e9a76eceb 100644
--- a/docs/privacy-security/privacy.md
+++ b/docs/privacy-security/privacy.md
@@ -81,7 +81,7 @@ n8n takes care to keep self-hosted data anonymous and avoids collecting sensitiv
- DB_TYPE
- N8N_VERSION_NOTIFICATIONS_ENABLED
- N8N_DISABLE_PRODUCTION_MAIN_PROCESS
- - [Execution variables](/hosting/environment-variables/environment-variables/#executions)
+ - [Execution variables](/hosting/configuration/environment-variables/executions)
- OS, RAM, and CPUs
- Anonymous instance ID
- IP address
@@ -117,7 +117,7 @@ To opt out of checking for new versions of n8n:
export N8N_VERSION_NOTIFICATIONS_ENABLED=false
```
-See [configuration](/hosting/configuration/) for more info on how to set environment variables.
+See [configuration](/hosting/configuration/configuration-methods/) for more info on how to set environment variables.
### Data collection in n8n Cloud
diff --git a/docs/privacy-security/what-you-can-do.md b/docs/privacy-security/what-you-can-do.md
index 543e0d872..55d0a85fb 100644
--- a/docs/privacy-security/what-you-can-do.md
+++ b/docs/privacy-security/what-you-can-do.md
@@ -20,11 +20,11 @@ If you self-host n8n, there are additional steps you can take:
* Set up a reverse proxy to handle TLS, ensuring data is encrypted in transit.
* Ensure data is encrypted at rest by using encrypted partitions, or encryption at the hardware level, and ensuring n8n and its database is written to that location.
-* Run a [Security audit](/hosting/security-audit/).
+* Run a [Security audit](/hosting/logging-monitoring/security-audit/).
* Be aware of the [Risks](/integrations/community-nodes/risks/) when installing community nodes, or choose to disable them.
-* Make sure users can't import external modules in the Code node. Refer to [Environment variables | Nodes](https://docs.n8n.io/hosting/environment-variables/environment-variables/#nodes) for more information.
-* Choose to exclude certain nodes. For example, you can disable nodes like Execute Command or SSH. Refer to [Environment variables | Nodes](https://docs.n8n.io/hosting/environment-variables/environment-variables/#nodes) for more information.
-* For maximum privacy, you can [Isolate n8n](/hosting/environment-variables/configuration-examples/isolation/).
+* Make sure users can't import external modules in the Code node. Refer to [Environment variables | Nodes](https://docs.n8n.io/hosting/configuration/environment-variables/nodes) for more information.
+* Choose to exclude certain nodes. For example, you can disable nodes like Execute Command or SSH. Refer to [Environment variables | Nodes](https://docs.n8n.io/hosting/configuration/environment-variables/nodes) for more information.
+* For maximum privacy, you can [Isolate n8n](/hosting/configuration/configuration-examples/isolation/).
### GDPR for self-hosted users
diff --git a/docs/release-notes.md b/docs/release-notes.md
index c2a627d93..524e3c2c1 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -28,14 +28,297 @@ n8n uses [semantic versioning](https://semver.org/){:target=_blank .external-lin
* MINOR version when adding functionality in a backward-compatible manner.
* PATCH version when making backward-compatible bug fixes.
+## n8n@1.37.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.36.1...n8n@1.37.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-04-10
+
+/// note | Next version
+This is the `next` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
+///
+
+/// warning | Breaking change
+Please note that this version contains a breaking change for self-hosted n8n. It removes the `--file` flag for the `execute` CLI command. If you have scripts relying on the `--file` flag, update them to first import the workflow and then execute it using the `--id` flag. Refer to [CLI commands](/hosting/cli-commands/) for more information on CLI options.
+///
+
+This release contains a new node, improvements to error handling and messaging, node enhancements, and bug fixes.
+
+
+
+#### New node: JWT
+
+This release adds the [JWT core node](/integrations/builtin/core-nodes/n8n-nodes-base.jwt/).
+
+
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+### Contributors
+
+[Miguel Prytoluk](https://github.com/mprytoluk){:target=_blank .external-link}
+
+## n8n@1.36.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.36.0...n8n@1.36.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-04-04
+
+/// note | Latest version
+This is the `latest` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
+///
+
+
+
+This release contains bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.36.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.35.0...n8n@1.36.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-04-03
+
+This release contains new nodes, enhancements and bug fixes.
+
+
+
+#### New node: Salesforce Trigger node
+
+This release adds the [Salesforce trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.salesforcetrigger/).
+
+
+
+
+
+#### New node: Twilio Trigger node
+
+This release adds the [Twilio trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.twiliotrigger/).
+
+
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.35.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.34.2...n8n@1.35.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-28
+
+
+
+This release contains enhancements and bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.34.2
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.34.1...n8n@1.34.2){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-26
+
+
+
+This release contains bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.34.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.34.0...n8n@1.34.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-25
+
+
+
+This release contains bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.34.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.33.1...n8n@1.34.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-20
+
+This release contains new features, new nodes, and bug fixes.
+
+
+
+#### New node: Microsoft OneDrive Trigger node
+
+This release adds the [Microsoft OneDrive trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftonedrivetrigger/). You can now trigger workflows on file and folder creation and update events.
+
+
+
+### Contributors
+
+[Bram Kn](https://github.com/bramkn){:target=_blank .external-link}
+[pemontto](https://github.com/pemontto){:target=_blank .external-link}
+
+## n8n@1.33.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.33.0...n8n@1.33.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-15
+
+
+
+This release contains bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.32.2
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.32.1...n8n@1.32.2){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-15
+
+
+
+
+
+This release contains bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.33.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.32.1...n8n@1.33.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-13
+
+This release contains new features, node enhancements, and bug fixes.
+
+
+
+#### Support for Claude 3
+
+This release adds support for Claude 3 to the [Anthropic Chat Model](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/) node.
+
+
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+### Contributors
+
+[gumida](https://github.com/gumida){:target=_blank .external-link}
+[Ayato Hayashi](https://github.com/hayashi-ay){:target=_blank .external-link}
+[Jordan](https://github.com/jordanburke){:target=_blank .external-link}
+[MC Naveen](https://github.com/mcnaveen){:target=_blank .external-link}
+
+## n8n@1.32.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.32.0...n8n@1.32.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-07
+
+
+
+This is a bug fix release.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.31.2
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.31.1...n8n@1.31.2){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-07
+
+
+This is a bug fix release.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.32.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.31.1...n8n@1.32.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-06
+
+This release contains new features, node enhancements, performance improvements, and bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.31.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.31.0...n8n@1.31.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-03-06
+
+/// warning | Breaking changes
+Please note that this version contains a breaking change. HTTP connections to the editor will fail on domains other than localhost. You can read more about it [here](https://github.com/n8n-io/n8n/blob/master/packages/cli/BREAKING-CHANGES.md#1320){:target=_blank .external-link}.
+///
+
+This is a bug fix release and it contains a breaking change.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+## n8n@1.31.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.30.0...n8n@1.31.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-02-28
+
+This release contains new features, new nodes, node enhancements and bug fixes.
+
+
+
+#### New nodes: Microsoft Outlook trigger and Ollama embeddings
+
+This release adds two new nodes.
+
+* [Microsoft Outlook Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.microsoftoutlooktrigger)
+* [Ollama Embeddings](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama)
+
+
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+
## n8n@1.30.1
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.30.0...n8n@1.30.1){:target=_blank .external-link} for this version.
**Release date:** 2024-02-23
-/// note | Next version
-This is the `next` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
-///
+
This release contains bug fixes.
@@ -59,9 +342,11 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.29.0...n8n@1.29.1){:target=_blank .external-link} for this version.
**Release date:** 2024-02-16
-/// note | Latest version
-This is the `latest` version. n8n recommends using the `latest` version. The `next` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12){:target=_blank .external-link}.
-///
+
+
+
+
+
@@ -86,7 +371,7 @@ For full release details, refer to [Releases](https://github.com/n8n-io/n8n/rele
#### OpenAI node overhaul
-This release includes a new version of the [OpenAI node](/integrations/builtin/app-nodes/n8n-nodes-base.openai/), adding more operations, including support for working with assistants.
+This release includes a new version of the [OpenAI node](/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/), adding more operations, including support for working with assistants.
@@ -830,7 +1115,7 @@ This release contains new features and bug fixes.
#### External storage for binary files
-Self-hosted users can now use an external service to store binary data. Learn more in [External storage](/hosting/external-storage/).
+Self-hosted users can now use an external service to store binary data. Learn more in [External storage](/hosting/scaling/external-storage/).
If you're using n8n Cloud and are interested in this feature, please [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa){:target=_blank .external-link}.
@@ -2790,7 +3075,7 @@ This release contains enhancements to the Item Lists node, and bug fixes.
### New features
-This release adds experimental support for more Prometheus metrics. Self-hosting users can configure Prometheus using [environment variables](/hosting/environment-variables/environment-variables/).
+This release adds experimental support for more Prometheus metrics. Self-hosting users can configure Prometheus using [environment variables](/hosting/configuration/environment-variables/).
### Node enhancements
@@ -2981,7 +3266,7 @@ This release introduces [log streaming](/log-streaming/) for users on Enterprise
#### Security audit
-This release adds a [security audit](/hosting/security-audit/) feature. You can now run a security audit on your n8n instance, to detect common security issues.
+This release adds a [security audit](/hosting/logging-monitoring/security-audit/) feature. You can now run a security audit on your n8n instance, to detect common security issues.
@@ -3174,7 +3459,7 @@ You can now quickly write expressions inline in a node parameter. You can still
#### Open AI node
-This release adds an integration with OpenAI. Refer to the [OpenAI node documentation](/integrations/builtin/app-nodes/n8n-nodes-base.openai/) for details.
+This release adds an integration with OpenAI. Refer to the [OpenAI node documentation](/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/) for details.
@@ -3864,7 +4149,7 @@ Introducing improved support for item linking (paired items). Item linking is a
#### Overhauled built-in variables
-n8n's [built-in methods and variables](/code/builtin/) have been overhauled, introducing new variables, and providing greater consistency in behavior and naming.
+n8n's [built-in methods and variables](/code/) have been overhauled, introducing new variables, and providing greater consistency in behavior and naming.
@@ -4419,7 +4704,7 @@ This release includes several major new features, including:
#### Community nodes repository
-This release introduces the [community node repository](/integrations/community-nodes/). This allows developers to build and share nodes as npm packages. Users can install community-built nodes directly in n8n.
+This release introduces the [community node repository](/integrations/community-nodes/installation/). This allows developers to build and share nodes as npm packages. Users can install community-built nodes directly in n8n.
@@ -5134,7 +5419,7 @@ View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.171.1...n8n@0.172
### Bug fixes
-**core**: Luxon now applies the correct timezone. Refer to [Luxon](/code/luxon/) for more information.
+**core**: Luxon now applies the correct timezone. Refer to [Luxon](/code/cookbook/luxon/) for more information.
**core**: fixed an issue with localization that was preventing i18n files from loading.
[Action Network Node:](/integrations/builtin/app-nodes/n8n-nodes-base.actionnetwork/) Fix a pagination issue and add credentials test.
diff --git a/docs/source-control-environments/understand/environments.md b/docs/source-control-environments/understand/environments.md
index ece0f1371..ebed821de 100644
--- a/docs/source-control-environments/understand/environments.md
+++ b/docs/source-control-environments/understand/environments.md
@@ -15,7 +15,7 @@ n8n has built its environments feature on top of Git, a version control software
In software development, the environment is all the infrastructure and tooling around the code, including the tools that run the software, and the specific configuration of those tools. For a more detailed introduction to environments in software development, refer to [Codecademy | Environments](https://www.codecademy.com/article/environments){:target=_blank .external-link}.
-Low-code development in n8n is similar. n8n is where you build and run your workflows. Your instance may have particular configurations: on Cloud, n8n determines the configuration. On self-hosted instances, there are extensive [configuration options](/hosting/environment-variables/). You may also have made changes to the settings of your instance. This combination of n8n and your instance's specific configuration and settings is the environment your workflows run in.
+Low-code development in n8n is similar. n8n is where you build and run your workflows. Your instance may have particular configurations: on Cloud, n8n determines the configuration. On self-hosted instances, there are extensive [configuration options](/hosting/configuration/configuration-methods/). You may also have made changes to the settings of your instance. This combination of n8n and your instance's specific configuration and settings is the environment your workflows run in.
There are advantages to having more than one environment. A common pattern is to have different environments for development and production:
diff --git a/docs/try-it-out/longer-introduction.md b/docs/try-it-out/longer-introduction.md
index 108d9c277..f27e3116b 100644
--- a/docs/try-it-out/longer-introduction.md
+++ b/docs/try-it-out/longer-introduction.md
@@ -45,7 +45,7 @@ For this tutorial, use the [Schedule trigger](/integrations/builtin/core-nodes/n
## Step four: Add the NASA node and set up credentials
-The [NASA node](/integrations/builtin/app-nodes/n8n-nodes-base.nasa/) allows you to interact with NASA's [public APIs](https://api.nasa.gov/). The API gives you data to work with in this tutorial.
+The [NASA node](/integrations/builtin/app-nodes/n8n-nodes-base.nasa/) allows you to interact with NASA's [public APIs](https://api.nasa.gov/){:target=_blank .external-link}. The API gives you data to work with in this tutorial.
1. Select the **Add node**  connector on the Schedule Trigger node.
2. Search for **NASA**. n8n shows a list of nodes that match the search.
@@ -69,7 +69,7 @@ The [NASA node](/integrations/builtin/app-nodes/n8n-nodes-base.nasa/) allows you
This generates a date in the correct format, seven days before the current date.
/// note | Date and time in n8n
- n8n uses Luxon to work with date and time, and also provides two variables for convenience: `$now` and `$today`. For more information, refer to [Expressions > Luxon](/code/luxon/).
+ n8n uses Luxon to work with date and time, and also provides two variables for convenience: `$now` and `$today`. For more information, refer to [Expressions > Luxon](/code/cookbook/luxon/).
///
7. Close the **Edit Expression** modal to return to the NASA node.
diff --git a/docs/try-it-out/quickstart.md b/docs/try-it-out/quickstart.md
index c4653a5ee..761edf1a7 100644
--- a/docs/try-it-out/quickstart.md
+++ b/docs/try-it-out/quickstart.md
@@ -24,7 +24,8 @@ n8n provides a quickstart template using training nodes. This allows you to work
1. Select **Templates**. n8n opens the templates library on the website.
2. Search for `Very quick quickstart`.
3. Select the **Very quick quickstart** template to preview it.
-4. Select **Use workflow** to open the template in your own editor.
+4. Select **Use template** to view the options for using the template.
+5. Select **Import template to cloud workspace** to load the template into your Cloud instance.
This workflow:
@@ -45,7 +46,7 @@ Add a third node to message each customer and tell them their description. Use t
2. Search for **Customer Messenger**. n8n shows a list of nodes that match the search.
3. Select **Customer Messenger (n8n training)** to add the node to the canvas. n8n opens the node automatically.
4. Use [expressions](/code/expressions/) to map in the **Customer ID** and create the **Message**:
- 1. Drag **id** from the **INPUT** panel into the **Customer ID** field in the node settings.
+ 1. Drag **customer_id** from the **INPUT** panel into the **Customer ID** field in the node settings.
2. Hover over **Message**. Select the **Expression** tab, then select the expand button  to open the full expressions editor.
3. Copy this expression into the editor:
```
diff --git a/docs/user-management/account-types.md b/docs/user-management/account-types.md
index e5488b90c..9543b3bcd 100644
--- a/docs/user-management/account-types.md
+++ b/docs/user-management/account-types.md
@@ -11,12 +11,12 @@ There are three account types, owner, admin, and member. The account type affect
To use admin accounts, you need a pro or enterprise plan.
///
-* Owner: this is the account that set up user management. There's one owner account for each n8n instance. You can't transfer ownership.
+* Owner: this is the account that set up user management. There's one owner account for each n8n instance. You can't transfer ownership to another user, but you can change the email of the owner account instead.
The owner can:
* Add and remove users, including admin users
* Upgrade members to admin, and downgrade admins to member
* See and share all workflows
- * See and share all credentials (but not see the sensitive information)
+ * See, edit, and share all credentials (but not see the sensitive information)
* Delete tags
* Set up and use [Source control](/source-control-environments/)
* Admin: elevated permissions within the app.
@@ -27,6 +27,7 @@ To use admin accounts, you need a pro or enterprise plan.
Members can:
* See all workflow tags, create new tags, and assign tags to their workflows. Members can't delete tags.
* Change their own password.
+ * Change their own email.
* See their own workflows.
/// note | Create a member-level account for the owner
diff --git a/docs/user-management/best-practices.md b/docs/user-management/best-practices.md
index edce8e41f..a4dfad261 100644
--- a/docs/user-management/best-practices.md
+++ b/docs/user-management/best-practices.md
@@ -23,5 +23,5 @@ If you run n8n behind a reverse proxy, set the following environment variables s
* `N8N_PORT`
* `N8N_PROTOCOL`
* `N8N_EDITOR_BASE_URL`
- More information on these variables is available in [Environment variables](/hosting/environment-variables/environment-variables/).
+ More information on these variables is available in [Environment variables](/hosting/configuration/environment-variables/).
diff --git a/docs/user-management/index.md b/docs/user-management/index.md
index 31fcdf9c1..6a2762e07 100644
--- a/docs/user-management/index.md
+++ b/docs/user-management/index.md
@@ -16,6 +16,6 @@ The user management feature doesn't send personal information, such as email or
///
## Setup guides
-This section contains most usage information for user management, and the [Cloud setup guide](/user-management/cloud-setup/). If you self-host n8n, there are extra steps to configure your n8n instance. Refer to the [Self-hosted guide](/hosting/user-management-self-hosted/).
+This section contains most usage information for user management, and the [Cloud setup guide](/user-management/cloud-setup/). If you self-host n8n, there are extra steps to configure your n8n instance. Refer to the [Self-hosted guide](/hosting/configuration/user-management-self-hosted/).
This section includes guides to configuring [LDAP](/user-management/ldap/) and [SAML](/user-management/saml/) in n8n.
diff --git a/docs/user-management/two-factor-auth.md b/docs/user-management/two-factor-auth.md
index 4a25bbfdb..405cee88a 100644
--- a/docs/user-management/two-factor-auth.md
+++ b/docs/user-management/two-factor-auth.md
@@ -21,4 +21,4 @@ To enable 2FA in n8n:
## Disable 2FA for your instance
-Self-hosted users can configure their n8n instance to disable 2FA for all users by setting `N8N_MFA_ENABLED` to false. Note that n8n ignores this if existing users have 2FA enabled. Refer to [Configuration methods](/hosting/environment-variables/configuration-methods/) for more information on configuring your n8n instance with environment variables.
+Self-hosted users can configure their n8n instance to disable 2FA for all users by setting `N8N_MFA_ENABLED` to false. Note that n8n ignores this if existing users have 2FA enabled. Refer to [Configuration methods](/hosting/configuration/configuration-methods/) for more information on configuring your n8n instance with environment variables.
diff --git a/docs/workflows/components/nodes.md b/docs/workflows/components/nodes.md
index cd1d760e6..386fc2f08 100644
--- a/docs/workflows/components/nodes.md
+++ b/docs/workflows/components/nodes.md
@@ -13,9 +13,9 @@ Nodes are the key building blocks of a workflow. They perform a range of actions
n8n provides a collection of built-in nodes, as well as the ability to create your own nodes. Refer to:
-* [Built-in integrations](/integrations/builtin/) to browse the node library.
-* [Community nodes](/integrations/community-nodes/) for guidance on finding and installing community-created nodes.
-* [Creating nodes](/integrations/creating-nodes/) to start building your own nodes.
+* [Built-in integrations](/integrations/builtin/node-types/) to browse the node library.
+* [Community nodes](/integrations/community-nodes/installation/) for guidance on finding and installing community-created nodes.
+* [Creating nodes](/integrations/creating-nodes/overview/) to start building your own nodes.
## Add a node to your workflow
diff --git a/docs/workflows/settings.md b/docs/workflows/settings.md
index 487ae4b96..ccece4293 100644
--- a/docs/workflows/settings.md
+++ b/docs/workflows/settings.md
@@ -17,7 +17,7 @@ To open the settings:
The following settings are available:
* **Execution order**: choose the execution order for multi-branch workflows. **v0 (legacy)** executes the first node of each branch, then the second node of each branch, and so on. **v1 (recommended)** executes each branch in turn, completing one branch before starting another. n8n orders the branches based on their position on the canvas, from topmost to bottommost. If two branches are at the same height, the leftmost branch executes first.
-* **Error Workflow**: select a workflow to trigger if the current workflow fails. See [Error workflows](/flow-logic/error-handling/error-workflows/) for more details.
+* **Error Workflow**: select a workflow to trigger if the current workflow fails. See [Error workflows](/flow-logic/error-handling/) for more details.
* **This workflow can be called by**: choose whether other workflow can call this workflow. Requires [Workflow sharing](/workflows/sharing/).
* **Timezone**: sets the timezone for the workflow to use. The default timezone is EDT (New York). The timezone setting is important for the Schedule trigger node.
* **Save failed production executions**: whether n8n should save failed executions for active workflows.
diff --git a/document-templates/app-nodes.md b/document-templates/app-nodes.md
index da541bdca..d01385e01 100644
--- a/document-templates/app-nodes.md
+++ b/document-templates/app-nodes.md
@@ -19,6 +19,7 @@ Set the meta title and meta description in the frontmatter
---
title: _Name_
description: Documentation for the _Name_ node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+contentType: integration
---
-View [example workflows and related content](https://n8n.io/integrations/_Name_/){:target=_blank .external-link} on n8n's website.
+View [example workflows and related content](https://n8n.io/integrations/_slug_/){:target=_blank .external-link} on n8n's website.
Refer to [_Name_'s documentation](){:target=_blank .external-link} for more information about the service.
+
+
+
+
diff --git a/document-templates/cluster-nodes.md b/document-templates/cluster-nodes.md
index 58d993eef..2b55e9dba 100644
--- a/document-templates/cluster-nodes.md
+++ b/document-templates/cluster-nodes.md
@@ -1,6 +1,7 @@
---
title: _Name_
description: Documentation for the _Name_ node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+contentType: integration
---
# _Name_
diff --git a/document-templates/core-nodes.md b/document-templates/core-nodes.md
index 28fb1a9d9..22d55afd4 100644
--- a/document-templates/core-nodes.md
+++ b/document-templates/core-nodes.md
@@ -15,6 +15,7 @@ You can find more info on working with the docs project in the README: https://g
---
title: _Name_
description: Documentation for the _Name_ node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.
+contentType: integration
---
+
+
diff --git a/document-templates/trigger-nodes.md b/document-templates/trigger-nodes.md
index a812938c6..b98db4ad6 100644
--- a/document-templates/trigger-nodes.md
+++ b/document-templates/trigger-nodes.md
@@ -19,6 +19,7 @@ Set the meta title and meta description in the frontmatter
---
title: _Name_ trigger
description: Documentation for the _Name_ trigger node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+contentType: integration
---