diff --git a/_snippets/integrations/builtin/credentials/cred-only-statement.md b/_snippets/integrations/builtin/credentials/cred-only-statement.md
new file mode 100644
index 000000000..8fddfec63
--- /dev/null
+++ b/_snippets/integrations/builtin/credentials/cred-only-statement.md
@@ -0,0 +1 @@
+You can use these credentials to authenticate when using the [HTTP Request node](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to make a [Custom API call](/integrations/custom-operations/).
\ No newline at end of file
diff --git a/_snippets/self-hosting/installation/latest-next-version.md b/_snippets/self-hosting/installation/latest-next-version.md
index 15c7c0cbb..2f3346a15 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.44.1
-Current `next`: 1.45.0
+Current `latest`: 1.45.1
+Current `next`: 1.46.0
///
diff --git a/_snippets/self-hosting/scaling/reduce-memory-consumption.md b/_snippets/self-hosting/scaling/reduce-memory-consumption.md
new file mode 100644
index 000000000..306e866ad
--- /dev/null
+++ b/_snippets/self-hosting/scaling/reduce-memory-consumption.md
@@ -0,0 +1,8 @@
+* Split the data processed into smaller chunks. For example, instead of fetching 10,000 rows with each execution, process 200 rows with each execution.
+* Avoid using the Code node where possible.
+* Avoid manual executions when processing larger amounts of data.
+* Split the workflow up into sub-workflows and ensure each sub-workflow returns a limited amount of data to its parent workflow.
+
+Splitting the workflow might seem counter-intuitive at first as it usually requires adding at least two more nodes: the [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) node to split up the items into smaller batches and the [Execute Workflow](/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/) node to start the sub-workflow.
+
+However, as long as your sub-workflow does the heavy lifting for each batch and then returns only a small result set to the main workflow, this reduces memory consumption. This is because the sub-workflow only holds the data for the current batch in memory, after which the memory is free again.
diff --git a/docs/_images/integrations/builtin/credentials/salesforce/using-oauth.gif b/docs/_images/integrations/builtin/credentials/salesforce/using-oauth.gif
deleted file mode 100644
index 99bf48bec..000000000
Binary files a/docs/_images/integrations/builtin/credentials/salesforce/using-oauth.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/salesmate/using-access-token.gif b/docs/_images/integrations/builtin/credentials/salesmate/using-access-token.gif
deleted file mode 100644
index dcd3712df..000000000
Binary files a/docs/_images/integrations/builtin/credentials/salesmate/using-access-token.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/sendy/using-api.gif b/docs/_images/integrations/builtin/credentials/sendy/using-api.gif
deleted file mode 100644
index dec019c60..000000000
Binary files a/docs/_images/integrations/builtin/credentials/sendy/using-api.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/sentryio/using-access-token.gif b/docs/_images/integrations/builtin/credentials/sentryio/using-access-token.gif
deleted file mode 100644
index 286cb93a5..000000000
Binary files a/docs/_images/integrations/builtin/credentials/sentryio/using-access-token.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/sentryio/using-oauth.gif b/docs/_images/integrations/builtin/credentials/sentryio/using-oauth.gif
deleted file mode 100644
index 08c06b1ba..000000000
Binary files a/docs/_images/integrations/builtin/credentials/sentryio/using-oauth.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/servicenow/servicenow_instance.png b/docs/_images/integrations/builtin/credentials/servicenow/servicenow_instance.png
deleted file mode 100644
index f228d4616..000000000
Binary files a/docs/_images/integrations/builtin/credentials/servicenow/servicenow_instance.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/sms77/using-access-token.gif b/docs/_images/integrations/builtin/credentials/sms77/using-access-token.gif
deleted file mode 100644
index 25ff58ffb..000000000
Binary files a/docs/_images/integrations/builtin/credentials/sms77/using-access-token.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/spontit/using-api-key.gif b/docs/_images/integrations/builtin/credentials/spontit/using-api-key.gif
deleted file mode 100644
index 64e3b1147..000000000
Binary files a/docs/_images/integrations/builtin/credentials/spontit/using-api-key.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/spotify/dashboard.gif b/docs/_images/integrations/builtin/credentials/spotify/dashboard.gif
deleted file mode 100644
index 18954f466..000000000
Binary files a/docs/_images/integrations/builtin/credentials/spotify/dashboard.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/ssh/private_key_credential.png b/docs/_images/integrations/builtin/credentials/ssh/private_key_credential.png
deleted file mode 100644
index f958edcef..000000000
Binary files a/docs/_images/integrations/builtin/credentials/ssh/private_key_credential.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/ssh/ssh_credentials.png b/docs/_images/integrations/builtin/credentials/ssh/ssh_credentials.png
deleted file mode 100644
index 49ef7dd86..000000000
Binary files a/docs/_images/integrations/builtin/credentials/ssh/ssh_credentials.png and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/storyblok/using-content-api.gif b/docs/_images/integrations/builtin/credentials/storyblok/using-content-api.gif
deleted file mode 100644
index b507e7b68..000000000
Binary files a/docs/_images/integrations/builtin/credentials/storyblok/using-content-api.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/storyblok/using-management-api.gif b/docs/_images/integrations/builtin/credentials/storyblok/using-management-api.gif
deleted file mode 100644
index edbc8cee5..000000000
Binary files a/docs/_images/integrations/builtin/credentials/storyblok/using-management-api.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/strava/using-oauth.gif b/docs/_images/integrations/builtin/credentials/strava/using-oauth.gif
deleted file mode 100644
index ed58e867b..000000000
Binary files a/docs/_images/integrations/builtin/credentials/strava/using-oauth.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/stripe/using-access-token.gif b/docs/_images/integrations/builtin/credentials/stripe/using-access-token.gif
deleted file mode 100644
index 4aece3ffe..000000000
Binary files a/docs/_images/integrations/builtin/credentials/stripe/using-access-token.gif and /dev/null differ
diff --git a/docs/_images/integrations/builtin/credentials/surveymonkey/getting-credentials.gif b/docs/_images/integrations/builtin/credentials/surveymonkey/getting-credentials.gif
deleted file mode 100644
index b3fc0bd89..000000000
Binary files a/docs/_images/integrations/builtin/credentials/surveymonkey/getting-credentials.gif and /dev/null differ
diff --git a/docs/courses/index.md b/docs/courses/index.md
index 891aa1a8f..e9cd33374 100644
--- a/docs/courses/index.md
+++ b/docs/courses/index.md
@@ -2,7 +2,7 @@
contentType: overview
---
-# Courses
+# Text courses
If you've found your way here, it means you're serious about your interest in automation. Maybe you're tired of manually entering data into the same spreadsheet every day, of clicking through a series of tabs and buttons for that one piece of information you need, of managing tens of different tools and systems.
diff --git a/docs/flow-logic/looping.md b/docs/flow-logic/looping.md
index f93559a8b..72138ec22 100644
--- a/docs/flow-logic/looping.md
+++ b/docs/flow-logic/looping.md
@@ -53,7 +53,7 @@ Nodes and operations where you need to design a loop into your workflow:
* [CrateDB](/integrations/builtin/app-nodes/n8n-nodes-base.cratedb/) executes once for `insert` and `update`.
* [Code](/integrations/builtin/core-nodes/n8n-nodes-base.code/) node in **Run Once for All Items** mode: processes all the items based on the entered code snippet.
-* [Execute Workflow](integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/) node in **Run Once for All Items** mode.
+* [Execute Workflow](/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/) node in **Run Once for All Items** mode.
* [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/): you must handle pagination yourself. If your API call returns paginated results you must create a loop to fetch one page at a time.
* [Microsoft SQL](/integrations/builtin/app-nodes/n8n-nodes-base.microsoftsql/) executes once for `insert`, `update`, and `delete`.
* [MongoDB](/integrations/builtin/app-nodes/n8n-nodes-base.mongodb/) executes once for `insert` and `update`.
diff --git a/docs/hosting/scaling/memory-errors.md b/docs/hosting/scaling/memory-errors.md
index 35cb5fe7e..cadeeef7e 100644
--- a/docs/hosting/scaling/memory-errors.md
+++ b/docs/hosting/scaling/memory-errors.md
@@ -41,14 +41,7 @@ On n8n cloud you need to upgrade to a larger plan.
This approach is more complex and means re-building the workflows causing the issue. This section provides some guidelines on how to reduce memory consumption. Not all suggestions are applicable to all workflows.
-* Split the data processed into smaller chunks. For example, instead of fetching 10,000 rows with each execution, process 200 rows with each execution.
-* Avoid using the Code node where possible.
-* Avoid manual executions when processing larger amounts of data.
-* Split the workflow up into sub-workflows and ensure each sub-workflow returns a limited amount of data to its parent workflow.
-
-Splitting the workflow might seem counter-intuitive at first as it usually requires adding at least two additional nodes: the [Loop Over Items](/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) node to split up the items into smaller batches and the [Execute Workflow](/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/) node to start the sub-workflow.
-
-However, as long as your sub-workflow does the heavy lifting for each batch and then returns only a small result set to the main workflow, the memory consumption is reduced. This is because the sub-workflow only holds the data for the current batch in memory, after which the memory is freed again.
+--8<-- "_snippets/self-hosting/scaling/reduce-memory-consumption.md"
### Increase old memory
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 c7e342ff9..06aa367a8 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.sms77.md
@@ -1,20 +1,20 @@
---
-title: sms77
-description: Documentation for the sms77 node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
+title: seven
+description: Documentation for the seven node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.
contentType: integration
---
-# sms77
+# seven
-Use the sms77 node to automate work in sms77, and integrate sms77 with other applications. n8n has built-in support for a wide range of sms77 features, including sending SMS, and converting text to voice.
+Use the seven node to automate work in seven, and integrate seven with other applications. n8n has built-in support for a wide range of seven features, including sending SMS, and converting text to voice.
-On this page, you'll find a list of operations the sms77 node supports and links to more resources.
+On this page, you'll find a list of operations the seven node supports and links to more resources.
/// note | Credentials
-Refer to [sms77 credentials](/integrations/builtin/credentials/sms77/) for guidance on setting up authentication.
+Refer to [seven credentials](/integrations/builtin/credentials/sms77/) 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 [sms77 integrations](https://n8n.io/integrations/sms77/){:target="_blank" .external-link} list.
+For usage examples and templates to help you get started, take a look at n8n's [seven integrations](https://n8n.io/integrations/sms77/){:target="_blank" .external-link} list.
///
## Basic Operations
diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
index 86cf1078c..2ab220106 100644
--- a/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
+++ b/docs/integrations/builtin/app-nodes/n8n-nodes-langchain.openai.md
@@ -74,8 +74,4 @@ Once you add a tool connection, the OpenAI node becomes a root node, allowing it
* Text
* Message Model
-## Using memory with OpenAI assistants
-For the **Message Assistant** operation, you can connect a memory sub-node to preserve and retrieve chat history. The assistant uses this to maintain context across multiple messages. The connected memory sub-node is the source of truth for the assistant's memory.
-
-To do this, n8n uses OpenAI's [threads](https://platform.openai.com/docs/assistants/how-it-works/managing-threads-and-messages){:target=_blank .external-link}. n8n creates a new thread on each time the node executes, and pre-populates it with messages from the memory sub-node. After the run finishes, n8n updates the memory sub-node with the new messages, and deletes the thread from OpenAI.
diff --git a/docs/integrations/builtin/credentials/salesmate.md b/docs/integrations/builtin/credentials/salesmate.md
index 374d771f7..654f2b5a1 100644
--- a/docs/integrations/builtin/credentials/salesmate.md
+++ b/docs/integrations/builtin/credentials/salesmate.md
@@ -6,22 +6,27 @@ contentType: integration
# Salesmate credentials
-You can use these credentials to authenticate the following nodes with Salesmate.
+You can use these credentials to authenticate the following nodes:
- [Salesmate](/integrations/builtin/app-nodes/n8n-nodes-base.salesmate/)
## Prerequisites
-Create a [Salesmate](https://salesmate.io/) account.
+Create a [Salesmate](https://salesmate.io/){:target=_blank .external-link} account.
-## Using Access Token
+## Supported authentication methods
-1. Access your Salesmate Dashboard.
-2. Click on your user icon in the top right.
-3. Click on My Account.
-4. Click on Access Key in the left panel.
-5. Copy the session key.
-6. Use session key and domain name for your Salesmate node credentials in n8n.
+- API token
-
+## Related resources
+
+Refer to [Salesmate's API documentation](https://apidocs.salesmate.io/?version=latest){:target=_blank .external-link} for more information about the service.
+
+
+## Using API token
+
+To configure this credential, you'll need:
+
+- A **Session Token**: An **Access Key**. Generate an access key in **My Account > Access Key**. Refer to [Access Rights and Keys](https://apidocs.salesmate.io/?version=latest#ac8296ec-cb44-4937-a860-5ae032397ca0){:target=_blank .external-link} for more information.
+- A **URL**: Your Salesmate domain name/base URL, for example `n8n.salesmate.io`.
diff --git a/docs/integrations/builtin/credentials/seatable.md b/docs/integrations/builtin/credentials/seatable.md
index ae18f0245..d9eedce87 100644
--- a/docs/integrations/builtin/credentials/seatable.md
+++ b/docs/integrations/builtin/credentials/seatable.md
@@ -13,20 +13,25 @@ You can use these credentials to authenticate the following nodes:
## Prerequisites
-You need to have a [SeaTable](https://seatable.io/en/) instance or cloud account.
+Create a [SeaTable](https://seatable.io/en/){:target=_blank .external-link} account on either a cloud or self-hosted SeaTable server.
+
+## Supported authentication methods
+
+- API key
+
+## Related resources
+
+Refer to [SeaTable's API documentation](https://api.seatable.io){:target=_blank .external-link} for more information about the service.
## Using API key
-From your SeaTable dashboard:
+To configure this credential, you'll need:
-1. From the **Bases** menu select the base you want to enable access for.
-2. Navigate to the base options > **Advanced** > **API Token**.
-3. In the modal, enter a name for this token and select the **Read-Write** permission.
-4. Click **Submit** and copy the new API token.
-
-From n8n:
-
-1. Select your environment type: **Cloud-hosted** or **Self-hosted**.
-2. For **Self-hosted** environments enter the domain of your instance.
-3. Enter the API token obtained above and click **Save** to create your credential.
+- An **Environment**: Select the environment that matches your SeaTable instance:
+ - **Cloud-Hosted**
+ - **Self-Hosted**
+- An **API Token (of a Base)**: Generate a **Base-Token** in SeaTable from the base options > **Advanced > API Token**.
+ - Use **Read-Write** permission for your token.
+ - Refer to [Creating an API token](https://seatable.io/en/docs/seatable-api/erzeugen-eines-api-tokens/){:target=_blank .external-link} for more information.
+- A **Timezone**: Select the timezone of your SeaTable server.
diff --git a/docs/integrations/builtin/credentials/securityscorecard.md b/docs/integrations/builtin/credentials/securityscorecard.md
index 5ef498916..6c3893dc6 100644
--- a/docs/integrations/builtin/credentials/securityscorecard.md
+++ b/docs/integrations/builtin/credentials/securityscorecard.md
@@ -6,29 +6,28 @@ contentType: integration
# SecurityScorecard credentials
-You can use these credentials to authenticate the following nodes with SecurityScorecard.
+You can use these credentials to authenticate the following nodes:
- [SecurityScorecard](/integrations/builtin/app-nodes/n8n-nodes-base.securityscorecard/)
## Prerequisites
-Create a [SecurityScorecard](https://securityscorecard.com/) account.
+Create a [SecurityScorecard](https://securityscorecard.com/){:target=_blank .external-link} account.
-## Using API
+## Supported authentication methods
-1. Open your SecurityScorecard [dashboard](https://platform.securityscorecard.io/#/home).
-2. Click on ***Integrations*** and select 'Get an API Key'.
-3. Click on ***Generate new API token***.
-4. Click on the ***Confirm*** button.
-5. Copy the generated API key.
-6. Enter a name for your credentials in the ***Credentials Name*** field in the 'SecurityScorecard API' credentials in n8n.
-7. Paste the API key in the ***API Key*** field in the 'Security Scorecard API' credentials in n8n.
-8. Click on the ***Create*** button to create your credentials.
+- API key
-The following video demonstrates the steps mentioned above.
+## Related resources
-
-
-
+Refer to [SecurityScorecard's Developer documentation](https://securityscorecard.readme.io/docs/integrate-ratings-platform-services){:target=_blank .external-link} and [API documentation](https://securityscorecard.readme.io/reference/introduction){:target=_blank .external-link} for more information about the service.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Generate an API key in one of two ways:
+ * As a user in [**My Settings > API**](https://platform.securityscorecard.io/#/my-settings/api){:target=_blank .external-link}. Refer to [Get an API key](https://securityscorecard.readme.io/docs/getting-started#step-1-get-an-api-key){:target=_blank .external-link} for more information.
+ * As a bot user: View the bot user and select **create token**. Refer to [Authenticate with a bot user](https://securityscorecard.readme.io/docs/authentication#){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/sekoia.md b/docs/integrations/builtin/credentials/sekoia.md
index a4838eb10..73d5f92f9 100644
--- a/docs/integrations/builtin/credentials/sekoia.md
+++ b/docs/integrations/builtin/credentials/sekoia.md
@@ -5,14 +5,24 @@ description: Documentation for the Sekoia credentials. Use these credentials to
# Sekoia credentials
-You can use these credentials to authenticate when using the HTTP Request node to make a [Custom API call](/integrations/custom-operations/).
+--8<-- "_snippets/integrations/builtin/credentials/cred-only-statement.md"
-## Authentication methods
+## Prerequisites
-n8n supports Sekoia authentication with an API key.
+Create a [Sekoia SOC platform](https://www.sekoia.io/en/homepage/) account.
+
+## Supported authentication methods
+
+- API key
## Related resources
Refer to [Sekoia's documentation](https://docs.sekoia.io/getting_started/){:target=_blank .external-link} for more information about the service.
This is a credential-only node. Refer to [Custom API operations](/integrations/custom-operations/) to learn more. View [example workflows and related content](https://n8n.io/integrations/sekoia/){:target=_blank .external-link} on n8n's website.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: To generate an API key, select **+ API Key**. Refer to [Create an API key](https://docs.sekoia.io/getting_started/manage_api_keys/#create-an-api-key){:target=_blank .external-link} for more information.
\ No newline at end of file
diff --git a/docs/integrations/builtin/credentials/sendgrid.md b/docs/integrations/builtin/credentials/sendgrid.md
index 4b7290e18..507ccc5fc 100644
--- a/docs/integrations/builtin/credentials/sendgrid.md
+++ b/docs/integrations/builtin/credentials/sendgrid.md
@@ -6,31 +6,26 @@ contentType: integration
# SendGrid credentials
-You can use these credentials to authenticate the following nodes with SendGrid.
+You can use these credentials to authenticate the following nodes:
- [SendGrid](/integrations/builtin/app-nodes/n8n-nodes-base.sendgrid/)
## Prerequisites
-Create a [SendGrid](https://SendGrid.com/) account.
+Create a [SendGrid](https://sendgrid.com){:target=_blank .external-link} account.
-## Using API Key
+## Supported authentication methods
-1. Open your SendGrid [dashboard](https://app.sendgrid.com/).
-2. Click on ***Settings*** on the left sidebar.
-3. Click on ***API Keys***.
-4. Click on the ***Create API Key*** button.
-5. Enter the name of the key in the ***API Key Name*** field.
-6. Click on the ***Create & View*** button.
-7. Click on the displayed API key to copy the key.
-8. Enter the name for your credentials in the ***Credentials Name*** field in the 'SendGrid API' credentials in n8n.
-9. Paste the 'API Key' in the ***API Key*** field.
-10. Click on the ***Create*** button to save your credentials.
+- API key
-The following video demonstrates the steps mentioned above.
+## Related resources
-
-
-
+Refer to [SendGrid's API documentation](https://www.twilio.com/docs/sendgrid/api-reference){:target=_blank .external-link} for more information about the service.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: To create an API key, go to **Settings > API Keys > Create API Key**. Refer to [Create API Keys](https://www.twilio.com/docs/sendgrid/api-reference/api-keys/create-api-keys){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/sendy.md b/docs/integrations/builtin/credentials/sendy.md
index aebccd081..09b05ea9c 100644
--- a/docs/integrations/builtin/credentials/sendy.md
+++ b/docs/integrations/builtin/credentials/sendy.md
@@ -6,20 +6,26 @@ contentType: integration
# Sendy credentials
-You can use these credentials to authenticate the following nodes with Sendy.
+You can use these credentials to authenticate the following nodes:
- [Sendy](/integrations/builtin/app-nodes/n8n-nodes-base.sendy/)
## Prerequisites
-Host a [Sendy](https://sendy.co/get-started) application.
+Host a [Sendy](https://sendy.co/get-started){:target=_blank .external-link} application.
+
+## Supported authentication methods
+
+- API key
+
+## Related resources
+
+Refer to [Sendy's API documentation](https://sendy.co/api){:target=_blank .external-link} for more information about the service.
## Using API Key
-1. Access your Sendy application.
-2. Click on the username on the top right corner and select 'Settings'.
-3. Copy the API key displayed under the ***Your API key*** section.
-4. Use this API key and the installation URL with your Sendy node credentials in n8n.
+To configure this credential, you'll need:
-
+- A **URL**: The URL of your Sendy application.
+- An **API Key**: Get your API key from your user profile > **Settings > Your API Key**.
diff --git a/docs/integrations/builtin/credentials/sentryio.md b/docs/integrations/builtin/credentials/sentryio.md
index 9a0f38135..f2ce5372a 100644
--- a/docs/integrations/builtin/credentials/sentryio.md
+++ b/docs/integrations/builtin/credentials/sentryio.md
@@ -6,38 +6,44 @@ contentType: integration
# Sentry.io credentials
-You can use these credentials to authenticate the following nodes with Sentry.io.
+You can use these credentials to authenticate the following nodes:
- [Sentry.io](/integrations/builtin/app-nodes/n8n-nodes-base.sentryio/)
## Prerequisites
-Create a [Sentry.io](https://sentry.io/) account.
+Create a [Sentry.io](https://sentry.io/){:target=_blank .external-link} account.
+
+## Supported authentication methods
+
+- API token
+- OAuth2
+- Server API token: Use for [self-hosted Sentry](https://develop.sentry.dev/self-hosted/){:target=_blank .external-link}.
+
+## Related resources
+
+Refer to [Sentry.io's API documentation](https://docs.sentry.io/api/){:target=_blank .external-link} for more information about the service.
+
+## Using API token
+
+To configure this credential, you'll need:
+
+- An API **Token**: Generate a [**User Auth Token**](https://sentry.io/settings/account/api/auth-tokens/){:target=_blank .external-link} in **Account > Settings > User Auth Tokens**. Refer to [User Auth Tokens](https://docs.sentry.io/account/auth-tokens/#user-auth-tokens){:target=_blank .external-link} for more information.
## Using OAuth
-/// note | Note for n8n Cloud users
-You'll only need to enter the Credentials Name and click on the circle button in the OAuth section to connect your Sentry.io account to n8n.
-///
+--8<-- "_snippets/integrations/builtin/credentials/cloud-oauth-button.md"
-1. Access your [Sentry.io Applications Page](https://sentry.io/settings/account/api/applications/).
-2. Click on the ***Create New Application*** button in the top right.
-3. Enter a name in the ***Name*** field.
-4. Copy the 'OAuth Callback URL' provided in the 'Sentry.io OAuth2 API' credentials in n8n and paste it in the ***Authorized Redirect URIs*** field in the *Sentry.io Application Details* page.
-5. Use the displayed ***Client ID*** and ***Client Secret*** with your Sentry.io OAuth2 API credentials in n8n.
-6. Click on the circle button in the OAuth section to connect a Sentry.io account to n8n.
-7. Click on the ***Save*** button to save your credentials.
+If you need to configure OAuth2 from scratch, [create an integration](https://docs.sentry.io/organization/integrations/integration-platform/#creating-an-integration){:target=_blank .external-link} with these settings:
-
+- Copy the n8n **OAuth Callback URL** and add it as an **Authorized Redirect URI**.
+- Copy the **Client ID** and **Client Secret** and add them to your n8n credential.
+Refer to [Public integrations](https://docs.sentry.io/organization/integrations/integration-platform/public-integration/){:target=_blank .external-link} for more information on creating the integration.
-## Using Access Token
+## Using Server API token
-1. Access your [Sentry.io Auth Tokens page](https://sentry.io/settings/account/api/auth-tokens/).
-2. Click on the ***Create New Token*** button in the top right.
-3. Select any scopes you plan to use and then click on ***Create Token***.
-4. Use the generated access token with your Sentry.io API credentials in n8n.
-5. Click on the ***Save*** button to save your credentials.
-
-
+To configure this credential, you'll need:
+- An API **Token**: Generate a [**User Auth Token**](https://sentry.io/settings/account/api/auth-tokens/){:target=_blank .external-link} in **Account > Settings > User Auth Tokens**. Refer to [User Auth Tokens](https://docs.sentry.io/account/auth-tokens/#user-auth-tokens){:target=_blank .external-link} for more information.
+- The **URL** of your self-hosted Sentry instance.
diff --git a/docs/integrations/builtin/credentials/serp.md b/docs/integrations/builtin/credentials/serp.md
index b53488303..d03f1a52e 100644
--- a/docs/integrations/builtin/credentials/serp.md
+++ b/docs/integrations/builtin/credentials/serp.md
@@ -11,10 +11,20 @@ You can use these credentials to authenticate the following nodes:
## Prerequisites
-You need an API key.
+Create a [Serp](https://serpapi.com/){:target=_blank .external-link} account.
+
+## Supported authentication methods
+
+- API key
## Related resources
Refer to [Serp's documentation](https://serpapi.com/search-api){:target=_blank .external-link} for more information about the service.
--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md"
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Get your API Key from the **Your Account** tab.
diff --git a/docs/integrations/builtin/credentials/servicenow.md b/docs/integrations/builtin/credentials/servicenow.md
index 7d872c334..46aebedbd 100644
--- a/docs/integrations/builtin/credentials/servicenow.md
+++ b/docs/integrations/builtin/credentials/servicenow.md
@@ -6,37 +6,44 @@ contentType: integration
# ServiceNow credentials
-You can use these credentials to authenticate the following nodes with ServiceNow.
+You can use these credentials to authenticate the following nodes:
- [ServiceNow](/integrations/builtin/app-nodes/n8n-nodes-base.servicenow/)
## Prerequisites
-Create a [ServiceNow](https://servicenow.com/) account.
+Create a [ServiceNow](https://developer.servicenow.com/dev.do#!/reference){:target=_blank .external-link} developer account.
-## Using OAuth
+## Supported authentication methods
-From your ServiceNow instance:
+- Basic auth
+- OAuth2
-1. Navigate to ***System OAuth*** > ***Application Registry***.
-2. Click ***New*** button > ***Create an OAuth API endpoint for external clients***.
+## Related resources
-
+Refer to [ServiceNow's API documentation](https://developer.servicenow.com/dev.do#!/reference/api/washingtondc/rest/){:target=_blank .external-link} for more information about the service.
-3. Complete the following fields:
- * **Name**: Enter a descriptive name for the new endpoint.
- * **Client ID**: Auto populated field, you will need this ID to configure your n8n credentials.
- * **Client Secret**: Enter your desired secret or leave blank to auto generate a random string. You will need this to configure your n8n credentials.
- * **Redirect URL**: Copy the ***OAuth Callback URL*** from the n8n credentials window and enter it here.
-4. Click ***Submit*** to save and create your new endpoint.
+## Using basic auth
-From n8n:
+To configure this credential, you'll need:
-5. Enter a descriptive ***Credentials Name***.
-6. Under ***Credential Data*** complete the following fields:
- * ***Client ID***: Enter the client ID generated above.
- * ***Client Secret***: Enter your client secret created above.
- * ***Subdomain***: Enter the subdomain of your ServiceNow instance. This can be seen in your instance URL: `https://.service-now.com/`.
-7. From the ***OAuth*** section, click the circle button to establish the connection.
-8. Click ***Save*** to finalize your n8n credentials.
+- A **User** name: Enter your ServiceNow username.
+- A **Password**: Enter your ServiceNow password.
+- A **Subdomain**: The subdomain for your servicenow instance is in your instance URL: `https://.service-now.com/`. For example, if the full URL is `https://dev99890.service-now.com`, then the subdomain is `dev99890`.
+
+## Using OAuth2
+
+To configure this credential, you'll need:
+
+- A **Client ID**: Generated once you register a new app.
+- A **Client Secret**: Generated once you register a new app.
+- A **Subdomain**: The subdomain for your servicenow instance is in your instance URL: `https://.service-now.com/`. For example, if the full URL is `https://dev99890.service-now.com`, then the subdomain is `dev99890`.
+
+To generate your **Client ID** and **Client Secret**, register a new app in **System OAuth > Application Registry > New > Create an OAuth API endpoint for external clients**. Use these settings for your app:
+
+- Copy the **Client ID** and add it to your n8n credential.
+- Enter a **Client Secret** or leave it blank to automatically generate a random secret. Add this secret to your n8n credential.
+- Copy the n8n **OAuth Redirect URL** and add it as a **Redirect URL**.
+
+Refer to [How to setup OAuth2 authentication for RESTMessageV2 integrations](https://www.servicenow.com/community/in-other-news/how-to-setup-oauth2-authentication-for-restmessagev2/ba-p/2271823){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/shopify.md b/docs/integrations/builtin/credentials/shopify.md
index df74e6d35..7fd4807f9 100644
--- a/docs/integrations/builtin/credentials/shopify.md
+++ b/docs/integrations/builtin/credentials/shopify.md
@@ -13,29 +13,50 @@ You can use these credentials to authenticate the following nodes with Shopify.
## Prerequisites
-Create a [Shopify](https://shopify.com/){:target=_blank .external-link} account.
-
-Then [create a custom app](https://help.shopify.com/en/manual/apps/app-types/custom-apps){:target=_blank .external-link} to authenticate to.
+- Create a [Shopify](https://shopify.com/){:target=_blank .external-link} account.
+- [Create and install a custom app](https://help.shopify.com/en/manual/apps/app-types/custom-apps){:target=_blank .external-link}.
## Supported authentication methods
-* [Access Token](https://shopify.dev/docs/apps/auth/access-token-types/admin-app-access-tokens){:target=_blank .external-link}. Requires:
- - Shop Subdomain (remove `.myshopify.com`)
- - Access Token: In Shopify UI, the **Admin API Access Token**
- - APP Secret Key: In Shopify UI, the **API Secret Key**
-* [OAuth2](https://shopify.dev/docs/apps/auth/get-access-tokens/token-exchange){:target=_blank .external-link}. Requires:
- - Client ID: In Shopify UI, the **API Key**
- - Client Secret: In Shopify UI, the **API Secret Key**
- - Shop Subdomain (remove `.myshopify.com`)
-* API Key. Requires:
- - API Key
- - Password
- - Shop Subdomain (remove `.myshopify.com`)
+- API token
+- OAuth2
+- API key
## Related resources
Refer to [Shopify's authentication documentation](https://shopify.dev/docs/apps/auth){:target=_blank .external-link} for more information about the service.
+## Using API token
+
+To configure this credential, you'll need:
+
+- Your **Shop Subdomain**: Your subdomain is within the URL: `https://.myshopify.com`. For example, if the full URL is `https://n8n.myshopify.com`, the Shop Subdomain is `n8n`.
+- An **Access Token**: Generated when you create a custom app as the **Admin API Access Token**. View it in the app's **API Credentials** section.
+- An **APP Secret Key**: Generated when you create a custom app as the **API Secret Key**. View it in the app's **API Credentials** section.
+
+[Creating a custom app](https://help.shopify.com/en/manual/apps/app-types/custom-apps){:target=_blank .external-link} generates the **Access Token** and **APP Secret Key**.
+
+Refer to [Generate access tokens for custom apps in the Shopify admin](https://shopify.dev/docs/apps/build/authentication-authorization/access-token-types/generate-app-access-tokens-admin){:target=_blank .external-link} for more information.
+
+## Using OAuth2
+
+To configure this credential, you'll need:
+
+- A **Client ID**: Generated when you create a custom app in the **API Access** section.
+- A **Client Secret**: Generated when you create a custom app in the **API Access** section.
+- Your **Shop Subdomain**: Your subdomain is within the URL: `https://.myshopify.com`. For example, if the full URL is `https://n8n.myshopify.com`, the Shop Subdomain is `n8n`.
+
+Refer to [About auth code grants](https://shopify.dev/docs/apps/build/authentication-authorization/get-access-tokens/auth-code-grant){:target=_blank .external-link} for more information on working with OAuth2.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**
+- A **Password**
+- Your **Shop Subdomain**: Your subdomain is within the URL: `https://.myshopify.com`. For example, if the full URL is `https://n8n.myshopify.com`, the Shop Subdomain is `n8n`.
+- _Optional:_ A **Shared Secret**
+
## Forbidden credentials error
diff --git a/docs/integrations/builtin/credentials/shuffler.md b/docs/integrations/builtin/credentials/shuffler.md
index 9d8e8737e..6dcf7a7bd 100644
--- a/docs/integrations/builtin/credentials/shuffler.md
+++ b/docs/integrations/builtin/credentials/shuffler.md
@@ -5,14 +5,24 @@ description: Documentation for the Shuffler credentials. Use these credentials t
# Shuffler credentials
-You can use these credentials to authenticate when using the HTTP Request node to make a [Custom API call](/integrations/custom-operations/).
+--8<-- "_snippets/integrations/builtin/credentials/cred-only-statement.md"
-## Authentication methods
+## Prerequisites
-n8n supports Shuffler authentication with bearer auth.
+Create a [Shuffler](https://shuffler.io){:target=_blank .external-link} account on either a cloud or self-hosted instance.
+
+## Supported authentication methods
+
+- API key
## Related resources
Refer to [Shuffler's documentation](https://shuffler.io/docs/API#authentication){:target=_blank .external-link} for more information about the service.
This is a credential-only node. Refer to [Custom API operations](/integrations/custom-operations/) to learn more. View [example workflows and related content](https://n8n.io/integrations/shuffler/){:target=_blank .external-link} on n8n's website.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Get your API key from the **Settings** page.
\ No newline at end of file
diff --git a/docs/integrations/builtin/credentials/signl4.md b/docs/integrations/builtin/credentials/signl4.md
index 8380641dc..bd9162380 100644
--- a/docs/integrations/builtin/credentials/signl4.md
+++ b/docs/integrations/builtin/credentials/signl4.md
@@ -6,16 +6,25 @@ contentType: integration
# SIGNL4 credentials
-You can use these credentials to authenticate the following nodes with SIGNL4.
+You can use these credentials to authenticate the following nodes:
- [SIGNL4](/integrations/builtin/app-nodes/n8n-nodes-base.signl4/)
## Prerequisites
-Create a [SIGNL4](https://www.signl4.com/) account.
+Create a [SIGNL4](https://www.signl4.com/){:target=_blank .external-link} account.
-## Using Access Token
+## Supported authentication methods
-1. Open the '✅ Sign up complete' email you received when you signed up for SIGNL4.
-2. Your team secret is the last part of the webhook URL. If your webhook URL is `https://connect.signl4.com/webhook/helloworld`, your team secret would be `helloworld`.
+- Webhook secret
+
+## Related resources
+
+Refer to [SIGNL4's Inbound Webhook documentation](https://connect.signl4.com/webhook/docs/index.html){:target=_blank .external-link} for more information about the service.
+
+## Using webhook secret
+
+To configure this credential, you'll need:
+
+- A **Team Secret**: SIGNL4 includes this secret in the "✅ Sign up complete" email as the last part of the webhook URL. If your webhook URL is `https://connect.signl4.com/webhook/helloworld`, your team secret would be `helloworld`.
diff --git a/docs/integrations/builtin/credentials/sms77.md b/docs/integrations/builtin/credentials/sms77.md
index 759a4ba11..c335fec9c 100644
--- a/docs/integrations/builtin/credentials/sms77.md
+++ b/docs/integrations/builtin/credentials/sms77.md
@@ -1,25 +1,30 @@
---
-title: sms77 credentials
-description: Documentation for sms77 credentials. Use these credentials to authenticate sms77 in n8n, a workflow automation platform.
+title: seven credentials
+description: Documentation for seven credentials. Use these credentials to authenticate seven in n8n, a workflow automation platform.
contentType: integration
---
-# sms77 credentials
+# seven credentials
-You can use these credentials to authenticate the following nodes with sms77.
+You can use these credentials to authenticate the following nodes:
-- [sms77](/integrations/builtin/app-nodes/n8n-nodes-base.sms77/)
+- [seven](/integrations/builtin/app-nodes/n8n-nodes-base.sms77/)
## Prerequisites
-Create an [sms77](https://sms77.io/) account.
+Create a [seven](https://www.seven.io/en){:target=_blank .external-link} developer account.
-## Using Access Token
+## Supported authentication methods
-1. Access your sms77 dashboard.
-2. Click on the gear icon in the bottom left.
-3. Click on the HTTP API tab.
-4. Use the API key provided with your sms77 node credentials in n8n.
+- API key
-
+## Related resources
+
+Refer to [seven's API documentation](https://docs.seven.io/en){:target=_blank .external-link} for more information about the service.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API key**: Go to **Account > Developer >** [**API Keys**](https://app.seven.io/developer#create-api-key){:target=_blank .external-link} to create an API key. Refer to [API First Steps](https://docs.seven.io/en/rest-api/first-steps){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/snowflake.md b/docs/integrations/builtin/credentials/snowflake.md
index b68263a1a..14061b526 100644
--- a/docs/integrations/builtin/credentials/snowflake.md
+++ b/docs/integrations/builtin/credentials/snowflake.md
@@ -6,21 +6,33 @@ contentType: integration
# Snowflake credentials
-You can use these credentials to authenticate the following nodes with Snowflake.
+You can use these credentials to authenticate the following nodes:
- [Snowflake](/integrations/builtin/app-nodes/n8n-nodes-base.snowflake/)
## Prerequisites
-Create a [Snowflake](https://www.snowflake.com/) account.
+Create a [Snowflake](https://www.snowflake.com/en/){:target=_blank .external-link} account.
-## Using API Key
+## Supported authentication methods
-1. Access your Snowflake instance.
-2. Copy the string of characters located between `https://` and `snowflakecomputing.com` in your Snowflake URL. This string is the name of your Snowflake Account. For example, if the URL of your Snowflake account is `https://abc.eu-central-1.snowflakecomputing.com` then the name of your account is `sx48547.eu-central-1`.
-3. Use this account name, database name, username, password, schema, and role with your Snowflake credentials in n8n.
+- Database connection
-## Further Reference
+## Related resources
-- [Snowflake API Documentation](https://api.Snowflake.com/)
+Refer to [Snowflake's API documentation](https://docs.snowflake.com/en/api-reference){:target=_blank .external-link} and [SQL Command Reference](https://docs.snowflake.com/en/sql-reference-commands){:target=_blank .external-link} for more information about the service.
+## Using database connection
+
+To configure this credential, you'll need:
+
+- An **Account** name: Your account name is the string of characters located between `https://` and `snowflakecomputing.com` in your Snowflake URL. For example, if the URL of your Snowflake account is `https://abc.eu-central-1.snowflakecomputing.com` then the name of your account is `abc.eu-central-1`.
+- A **Database**: Enter the name of the [database](https://docs.snowflake.com/en/sql-reference/sql/use-database){:target=_blank .external-link} the credential should connect to.
+- A **Warehouse**: Enter the name of the default virtual [warehouse](https://docs.snowflake.com/en/sql-reference/sql/use-warehouse){:target=_blank .external-link} to use for the session after connecting. n8n uses this warehouse for performing queries, loading data, and so on.
+- A **Username**
+- A **Password**
+- A **Schema**: Enter the [schema](https://docs.snowflake.com/en/sql-reference/sql/use-schema){:target=_blank .external-link} you want to use after connecting.
+- A **Role**: Enter the security [role](https://docs.snowflake.com/en/sql-reference/sql/use-role){:target=_blank .external-link} you want to use after connecting.
+- **Client Session Keep Alive**: By default, client connections typically time out three or four hours after the most recent query execution. Turning this setting on sets the `clientSessionKeepAlive` parameter to true: the server will keep the client's connection alive indefinitely, even if the connection doesn't execute any queries.
+
+Refer to [Session Commands](https://docs.snowflake.com/en/sql-reference/commands-session){:target=_blank .external-link} for more information on these settings.
diff --git a/docs/integrations/builtin/credentials/splunk.md b/docs/integrations/builtin/credentials/splunk.md
index d5ef2fb9d..144b39b34 100644
--- a/docs/integrations/builtin/credentials/splunk.md
+++ b/docs/integrations/builtin/credentials/splunk.md
@@ -12,19 +12,30 @@ You can use these credentials to authenticate the following nodes:
## Prerequisites
-- [Download and install](https://www.splunk.com/en_us/download/splunk-enterprise.html) Splunk Enterprise
+- [Download and install](https://www.splunk.com/en_us/download/splunk-enterprise.html){:target=_blank .external-link} Splunk Enterprise.
+- [Enable token authentication](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/EnableTokenAuth){:target=_blank .external-link} in **Settings > Tokens**.
-## Using API Key
+## Supported authentication methods
-From your Splunk UI:
+- API auth token
-1. Navigate to the **Settings** > **Tokens** menu.
-2. Select **Enable Token Authentication** and create a **New Token**.
-3. Copy the API Key provided there.
+## Related resources
-From n8n:
+Refer to [Splunk's Enterprise API documentation](https://docs.splunk.com/Documentation/Splunk/latest/RESTREF/RESTprolog){:target=_blank .external-link} for more information about the service.
-4. Enter your API key and application Base URL (for example, `https://localhost:8089`).
-5. Use the toggle to select if you want to **Allow Unauthorized Certificates**.
-6. Click **Save** to create your credentials.
+## Using API auth token
+To configure this credential, you'll need:
+
+- An **Auth Token**: Once you've enabled token authentication, create an auth token in **Settings > Tokens**. Refer to [Creating authentication tokens](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/CreateAuthTokens){:target=_blank .external-link} for more information.
+- A **Base URL**: For your Splunk instance. This should include the protocol, domain, and port, for example: `https://localhost:8089`.
+- **Allow Self-Signed Certificates**: If turned on, n8n will connect even if SSL validation fails.
+
+## Required capabilities
+
+Your Splunk platform account and role must have certain capabilities to create authentication tokens:
+
+- `edit_tokens_own`: Required if you want to create tokens for yourself.
+- `edit_tokens_all`: Required if you want to create tokens for any user on the instance.
+
+Refer to [Define roles on the Splunk platform with capabilities](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/Rolesandcapabilities){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/spontit.md b/docs/integrations/builtin/credentials/spontit.md
index 036a2e21d..3db8cdd79 100644
--- a/docs/integrations/builtin/credentials/spontit.md
+++ b/docs/integrations/builtin/credentials/spontit.md
@@ -6,26 +6,26 @@ contentType: integration
# Spontit credentials
-You can use these credentials to authenticate the following nodes with Spontit.
+You can use these credentials to authenticate the following nodes:
- [Spontit](/integrations/builtin/app-nodes/n8n-nodes-base.spontit/)
## Prerequisites
-Create a [Spontit](https://www.spontit.com/) account.
+Create a [Spontit](https://www.spontit.com/){:target=_blank .external-link} account.
-## Using API Key
+## Supported authentication methods
-1. Access the [Spontit dashboard](https://www.spontit.com/).
-2. On the navigation menu, click on ***API***, and select 'Get Secret Keys' from the dropdown list.
-3. Click on ***+ Create New Key*** to generate a new API Key.
-4. Click on the ***PROFILE*** tab on the navigation menu.
-5. Copy the displayed username.
-6. Use this ***API Key*** and ***Username*** with your Spontit credentials in n8n.
+- API key
-
+## Related resources
-## Further Reference
+Refer to [Spontit's API documentation](https://api.spontit.com/){:target=_blank .external-link} for more information about the service.
-- [Spontit API Documentation](https://api.spontit.com/)
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Go to **API** to get a new secret key. Enter that key as your **API Key**.
+- A **Username**: Enter your Spontit username. If you're unsure how to format it, open your **Profile** and copy the username from there.
diff --git a/docs/integrations/builtin/credentials/spotify.md b/docs/integrations/builtin/credentials/spotify.md
index f6d5a2614..52fed586e 100644
--- a/docs/integrations/builtin/credentials/spotify.md
+++ b/docs/integrations/builtin/credentials/spotify.md
@@ -6,25 +6,31 @@ contentType: integration
# Spotify credentials
-You can use these credentials to authenticate the following nodes with Spotify.
+You can use these credentials to authenticate the following nodes:
- [Spotify](/integrations/builtin/app-nodes/n8n-nodes-base.spotify/)
## Prerequisites
-Create a [Spotify Developer](https://developer.spotify.com/dashboard/login) account.
+Create a [Spotify Developer](https://developer.spotify.com/){:target=_blank .external-link} account.
-## Using OAuth
+## Supported authentication methods
-/// note | Note for n8n Cloud users
-You'll only need to enter the Credentials Name and click on the circle button in the OAuth section to connect your Spotify account to n8n.
-///
+- OAuth2
-1. Access your [Spotify for Developers](https://developer.spotify.com/dashboard/login) dashboard.
-2. Click the *Create an App* button at the top of your dashboard. Enter in the app's name and description and click *Create*.
-3. Use provided Client Secret and Client ID with your Spotify node credentials in n8n.
-4. Open the app settings and add the n8n provided redirect URL to the app's redirect URI list. Redirect URL Explanation [here](/).
+## Related resources
-
+Refer to [Spotify's Web API documentation](https://developer.spotify.com/documentation/web-api){:target=_blank .external-link} for more information about the service.
+
+## Using OAuth2
+
+--8<-- "_snippets/integrations/builtin/credentials/cloud-oauth-button.md"
+
+If you need to configure OAuth2 from scratch, [create a Spotify app](https://developer.spotify.com/documentation/web-api/concepts/apps){:target=_blank .external-link}.
+
+Use these settings for your app:
+
+- Copy the **OAuth Redirect URL** from n8n and use this as the app's **Redirect URI**.
+- Copy the **Client ID** and **Client Secret** from your app and add them to n8n.
diff --git a/docs/integrations/builtin/credentials/ssh.md b/docs/integrations/builtin/credentials/ssh.md
index dea1b9097..19f0cb5db 100644
--- a/docs/integrations/builtin/credentials/ssh.md
+++ b/docs/integrations/builtin/credentials/ssh.md
@@ -12,30 +12,37 @@ You can use these credentials to authenticate the following nodes:
## Prerequisites
-Authentication for the SSH node requires that you have a username and password for connecting to the remote server, or an SSH key configured for the server or service you are connecting to.
-See [Connecting to GitHub with SSH](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) for an example.
+- Create a remote server with SSH enabled.
+- Create one of the following:
+ - A user account that can `ssh` into the server: Use with [password authentication](#using-password).
+ - An SSH key for the server or service: Use with [private key authentication](#using-private-key).
-## Using Password
+## Supported authentication methods
-1. From the SSH Credentials dropdown, select ***Create New*** and complete the following fields:
- - ***Credentials Name***: Enter a descriptive name, here we used `ssh_demo`.
- - ***Host***: Enter the IP address of the server you are connecting to. Here we're using `192.168.1.8` for a local Mac set up for SSH access.
- - ***Port***: Enter the port to use for this connection. SSH used port 22 by default.
- - ***User***: Enter the your username for this server.
- - ***Password***: Enter your password for the provided username.
-2. Click ***Save*** to make these credentials available for use.
+- Password
+- Private key
-
+## Related resources
-## Using Private Key
+Secure Shell (SSH) protocol is a method for securely sending commands over a network. Refer to [Connecting to GitHub with SSH](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) for an example of SSH setup.
-1. With ***Private Key*** selected in the ***Authentication*** field, from the SSH Credentials dropdown select ***Create New***.
-2. Complete the following fields:
- - ***Credentials Name***: Enter a descriptive name, here we used `ssh_demo`.
- - ***Host***: Enter the IP address of the server you are connecting to.
- - ***Port***: Enter the port to use for this connection. SSH used port 22 by default.
- - ***Private Key***: Enter your SSH private key.
- - ***Passphrase***: Enter your passphrase used to secure this key.
-
+## Using password
+
+To configure this credential, you'll need:
+
+- A **Host**: Enter the IP address of the server you are connecting to.
+- A **Port**: Enter the port to use for this connection. SSH uses port 22 by default.
+- A **Username**: Enter the username for the user account with `ssh` access on the server.
+- A **Password**: Enter the password for that user account.
+
+## Using private key
+
+To configure this credential, you'll need:
+
+- A **Host**: Enter the IP address of the server you are connecting to.
+- A **Port**: Enter the port to use for this connection. SSH uses port 22 by default.
+- A **Username**: Enter the username of the account that generated the private key.
+- An SSH **Private Key**: Enter the entire contents of your SSH private key.
+- _Optional:_ If you created a **Passphrase** for the key, enter the passphrase. If you didn't create a passphrase for the key, leave blank.
diff --git a/docs/integrations/builtin/credentials/stackby.md b/docs/integrations/builtin/credentials/stackby.md
index 7a6751dcf..6b45e1864 100644
--- a/docs/integrations/builtin/credentials/stackby.md
+++ b/docs/integrations/builtin/credentials/stackby.md
@@ -6,28 +6,25 @@ contentType: integration
# Stackby credentials
-You can use these credentials to authenticate the following nodes with Stackby.
+You can use these credentials to authenticate the following nodes:
- [Stackby](/integrations/builtin/app-nodes/n8n-nodes-base.stackby/)
## Prerequisites
-Create a [Stackby](https://stackby.com/) account.
+Create a [Stackby](https://stackby.com/){:target=_blank .external-link} account.
-## Using API Key
+## Supported authentication methods
-1. Open your Stackby [dashboard](https://stackby.com/dashboard).
-2. Click on the user icon on the top right and select 'Account' from the dropdown list.
-3. Under the ***API*** section, click on the ***Create API key*** button.
-4. Copy the displayed API key.
-5. Enter a name for your credentials in the ***Credentials Name*** field in the 'Stackby API' credentials in n8n.
-6. Paste the API key in the ***API Key*** field in the 'Stackby API' credentials in n8n.
-7. Click on the ***Create*** button to create the credentials.
+- API key
+## Related resources
-The following video demonstrates the steps mentioned above.
+Refer to [Stackby's API documentation](https://documenter.getpostman.com/view/27762116/2s9YBxXvCa){:target=_blank .external-link} for more information about the service.
-
-
-
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Go to your [**Account Settings > API**](https://www.stackby.com/account){:target=_blank .external-link} to create an API Key. Refer to [API Key](https://help.stackby.com/en/article/95-api-key){:target=_blank .external-link} for more information.
diff --git a/docs/integrations/builtin/credentials/storyblok.md b/docs/integrations/builtin/credentials/storyblok.md
index fdf828e96..049b0693d 100644
--- a/docs/integrations/builtin/credentials/storyblok.md
+++ b/docs/integrations/builtin/credentials/storyblok.md
@@ -6,38 +6,38 @@ contentType: integration
# Storyblok credentials
-You can use these credentials to authenticate the following nodes with Storyblok.
+You can use these credentials to authenticate the following nodes:
- [Storyblok](/integrations/builtin/app-nodes/n8n-nodes-base.storyblok/)
## Prerequisites
-Create a [Storyblok](https://www.storyblok.com/) account.
+Create a [Storyblok](https://www.storyblok.com/){:target=_blank .external-link} account.
-## Using API Key to access the Content API
+## Supported authentication methods
-1. Access the [spaces](https://app.storyblok.com/#!/me/spaces) page.
-2. Select a space you want to use from the left sidebar.
-3. Click on ***Settings*** in the left sidebar.
-4. Select the ***API-Keys*** tab.
-5. Select an access level from the ***Access Level*** dropdown list.
-6. Click on the ***Create Token*** button.
-7. Use this ***API Key*** with your Storyblok Content API credentials in n8n.
+- Content API key: For read-only access
+- Management API key: For full CRUD operations
-
+/// note | Content API support
+n8n supports Content API v1 only.
+///
-## Using API Key to access the Management API
+## Related resources
-1. Access the [My Account](https://app.storyblok.com/#!/me/account) page.
-2. Scroll down to the ***Personal access tokens*** section.
-3. Click on the ***Generate new Token*** button.
-4. Use this ***API Key*** with your Storyblok Management API credentials in n8n.
+Refer to Storyblok's [Content v1 API documentation](https://www.storyblok.com/docs/api/content-delivery/v1){:target=_blank .external-link} and [Management API documentation](https://www.storyblok.com/docs/api/management/getting-started/introduction){:target=_blank .external-link} for more information about the services.
-
+## Using Content API key
+To configure this credential, you'll need:
-## Further Reference
+- A Content **API Key**: Go to your Storyblok workspace's **Settings > Access Tokens** to get an API key. Choose an **Access Level** of either **Public** (`version=published`) or **Preview** (`version-published` and `version=draft`). Enter this access token as your **API Key**. Refer to [How to retrieve and generate access tokens](https://www.storyblok.com/faq/retrieve-and-generate-access-tokens){:target=_blank .external-link} for more detailed instructions.
-- [Content API Documentation](https://www.storyblok.com/docs/api/content-delivery#topics/authentication)
-- [Management API Documentation](https://www.storyblok.com/docs/api/management#topics/authentication)
+Refer to [Content v1 API Authentication](https://www.storyblok.com/docs/api/content-delivery/v1#topics/authentication){:target=_blank .external-link} for more information about supported operations with each Access Level.
+
+## Using Management API key
+
+To configure this credential, you'll need:
+
+- A **Personal Access Token**: Go to [**My Account**](https://app.storyblok.com/#!/me/account){:target=_blank .external-link} **> Personal access tokens** to generate a new access token. Enter this access token as your **Personal Access Token**.
diff --git a/docs/integrations/builtin/credentials/strava.md b/docs/integrations/builtin/credentials/strava.md
index 7130912ac..481353094 100644
--- a/docs/integrations/builtin/credentials/strava.md
+++ b/docs/integrations/builtin/credentials/strava.md
@@ -6,26 +6,35 @@ contentType: integration
# Strava credentials
-You can use these credentials to authenticate the following nodes with Strava.
+You can use these credentials to authenticate the following nodes:
- [Strava](/integrations/builtin/app-nodes/n8n-nodes-base.strava/)
- [Strava Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.stravatrigger/)
## Prerequisites
-Create a [Strava](https://Strava.com) account.
+- Create a [Strava](https://strava.com){:target=_blank .external-link} account.
+- Create a Strava application in [**Settings > API**](https://www.strava.com/settings/api){:target=_blank .external-link}. Refer to [Using OAuth2](#using-oauth2) for more information.
-## Using OAuth
+## Supported authentication methods
-1. Access the [My API Application page](https://www.strava.com/settings/api).
-2. Enter the application name in the ***Application Name*** field.
-3. Enter the website URL in the ***Website*** field.
-4. Copy the string of characters between `https://` (or `http://`) and `/oauth2/callback` (or `/rest/oauth2-credential/callback`) from 'OAuth Callback URL' in n8n. Paste it in the ***Authorization Callback Domain*** in Strava.
-5. Read 'Strava's API Agreement', and if you agree, check the checkbox.
-6. Click on the ***Create*** button.
-7. Click on ***App Icon*** and select an image from the browser window.
-8. Click on the ***Save*** button.
-9. Use this ***Client ID*** and ***Client Secret*** with your Strava node credentials in n8n.
+- OAuth2
-
+## Related resources
+Refer to [Strava's API documentation](https://developers.strava.com/docs/reference/){:target=_blank .external-link} for more information about the service.
+
+## Using OAuth2
+
+To configure this credential, you'll need:
+
+- A **Client ID**: Generated when you [create a Strava app](https://developers.strava.com/docs/getting-started/#account){:target=_blank .external-link}.
+- A **Client Secret**: Generated when you [create a Strava app](https://developers.strava.com/docs/getting-started/#account){:target=_blank .external-link}.
+
+Use these settings for your Strava app:
+
+- In n8n, copy the **OAuth Callback URL**. Paste this URL into your Strava app's **Authorization Callback Domain**.
+- Remove the protocol (`https://` or `http://`) and the relative URL (`/oauth2/callback` or `/rest/oauth2-credential/callback`) from the **Authorization Callback Domain**. For example, if the OAuth Redirect URL was originally `https://oauth.n8n.cloud/oauth2/callback`, the **Authorization Callback Domain** would be `oauth.n8n.cloud`.
+- Copy the **Client ID** and **Client Secret** from your app and add them to your n8n credential.
+
+Refer to [Authentication](https://developers.strava.com/docs/authentication/){:target=_blank .external-link} for more information about Strava's OAuth flow.
diff --git a/docs/integrations/builtin/credentials/stripe.md b/docs/integrations/builtin/credentials/stripe.md
index ab0d21830..e8e6adea6 100644
--- a/docs/integrations/builtin/credentials/stripe.md
+++ b/docs/integrations/builtin/credentials/stripe.md
@@ -6,21 +6,46 @@ contentType: integration
# Stripe credentials
-You can use these credentials to authenticate the following nodes with Stripe.
+You can use these credentials to authenticate the following nodes:
- [Stripe Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.stripetrigger/)
- [Stripe](/integrations/builtin/app-nodes/n8n-nodes-base.stripe/)
## Prerequisites
-Create a [Stripe](https://stripe.com/) account.
+Create a [Stripe](https://stripe.com/){:target=_blank .external-link} account.
-## Using Access Token
+You must have either an admin or developer account.
-1. Access your Stripe dashboard.
-2. Click on the developers button in the left panel.
-3. Click on API keys.
-4. Use the secret key with your Stripe node credentials in n8n.
+## Supported authentication methods
+
+- API key
+
+## Related resources
+
+Refer to [Stripe's API documentation](https://docs.stripe.com/api){:target=_blank .external-link} for more information about the service.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An API **Secret Key**: Choose whether to generate an API key in live mode or test mode. Refer to [Test mode and live mode](#test-mode-and-live-mode) for more information about the two modes.
+ - For live mode: Go to your [Stripe dashboard](https://dashboard.stripe.com/apikeys){:target=_blank .external-link} to generate a Secret Key.
+ - For test mode: Go to your [Stripe test mode dashboard](https://dashboard.stripe.com/test/apikeys){:target=_blank .external-link} to generate a Secret Key.
+ - Be sure you create a **Secret Key** and not a **Publishable Key**.
+
+Refer to [Create a secret API key](https://docs.stripe.com/keys#create-api-secret-key){:target=_blank .external-link} for more detailed instructions.
+
+## Test mode and live mode
+
+All Stripe API requests happen within either [test mode](https://docs.stripe.com/test-mode) or live mode. Each mode has its own API key.
+
+Use test mode to access test data and live mode to access actual account data. Objects in one mode aren’t accessible to the other.
+
+Refer to [API keys](https://docs.stripe.com/keys){:target=_blank .external-link} for more information about what's available in each mode and guidance on when to use which format.
+
+/// note | n8n credentials for both modes
+If you want to work with both live mode and test mode keys, store each mode's key in a separate n8n credential.
+///
-
diff --git a/docs/integrations/builtin/credentials/supabase.md b/docs/integrations/builtin/credentials/supabase.md
index 6bc9a9050..acbd192c1 100644
--- a/docs/integrations/builtin/credentials/supabase.md
+++ b/docs/integrations/builtin/credentials/supabase.md
@@ -6,22 +6,30 @@ contentType: integration
# Supabase credentials
-You can use these credentials to authenticate the following nodes with Supabase.
+You can use these credentials to authenticate the following nodes:
- [Supabase](/integrations/builtin/app-nodes/n8n-nodes-base.supabase/)
- [Supabase Vector Store](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoresupabase/)
-
## Prerequisites
-Create a [Supabase](https://supabase.com/) account.
+Create a [Supabase](https://supabase.com/){:target=_blank .external-link} account.
+
+## Supported authentication methods
+
+- API key
+
+## Related resources
+
+Refer to [Supabase's API documentation](https://supabase.com/docs/guides/api){:target=_blank .external-link} for more information about the service.
## Using Access Token
-1. In the [Supabase UI](https://app.supabase.io/), navigate to the project you would like to connect to.
-2. Navigate to Settings page (through the gears button in the left sidebar).
-3. Under *Project settings*, click on **API**.
-4. Copy the value from the Supabase `URL` field into the `Host` field of your Supabase credentials in n8n.
-5. Copy the value from the Supabase `service_role secret` field into the `Service Role Secret` field of your Supabase credentials in n8n.
-6. Click `Save` on the n8n credentials screen.
+To configure this credential, you'll need:
+- A **Host**: Go to [**Project Settings > API**](https://supabase.com/dashboard/project/_/settings/api){:target=_blank .external-link}. Copy the **URL** from the **Config** section and enter it as your n8n **Host**.
+- A **Service Role Secret**: Go to [**Project Settings > API**](https://supabase.com/dashboard/project/_/settings/api){:target=_blank .external-link}. Reveal the secret for the `service_role` API key. Copy that **secret** and enter it as your n8n **Service Role Secret**.
+
+Refer to [API URL and keys](https://supabase.com/docs/guides/api#api-url-and-keys){:target=_blank .external-link} for more detailed instructions.
+
+Refer to [Understanding API Keys](https://supabase.com/docs/guides/api/api-keys){:target=_blank .external-link} for more information on the `service_role` privileges.
diff --git a/docs/integrations/builtin/credentials/surveymonkey.md b/docs/integrations/builtin/credentials/surveymonkey.md
index 0def6d9c5..1aeb0b18a 100644
--- a/docs/integrations/builtin/credentials/surveymonkey.md
+++ b/docs/integrations/builtin/credentials/surveymonkey.md
@@ -6,36 +6,66 @@ contentType: integration
# SurveyMonkey credentials
-You can use these credentials to authenticate the following nodes with SurveyMonkey.
+You can use these credentials to authenticate the following nodes:
- [SurveyMonkey Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.surveymonkeytrigger/)
## Prerequisites
-Create a [SurveyMonkey](https://surveymonkey.com/) account.
+- Create a [SurveyMonkey](https://www.surveymonkey.com){:target=_blank .external-link} account.
+- [Register an app](https://api.surveymonkey.com/v3/docs?api_key=3yr7n6m8sjwvm48x8nhxej52#registering-an-app){:target=_blank .external-link} from your [**Developer dashboard > My apps**](https://developer.surveymonkey.com/apps/){:target=_blank .external-link}.
+ - Refer to [Required app scopes](#required-app-scopes) for information on the scopes you must use.
+
+## Supported authentication methods
+
+- API access token
+- OAuth2
+
+## Related resources
+
+Refer to [SurveyMonkey's API documentation](https://developer.surveymonkey.com/api/v3/#SurveyMonkey-Api){:target=_blank .external-link} for more information about the service.
+
+## Using API access token
+
+To configure this credential, you'll need:
+
+- An **Access Token**: Generated once you create an app.
+- A **Client ID**: Generated once you create an app.
+- A **Client Secret**: Generated once you create an app.
+
+Once you've created your app and assigned appropriate scopes, go to **Settings > Credentials**. Copy the **Access Token**, **Client ID**, and **Secret** and add them to n8n.
## Using OAuth
-1. Access your SurveyMonkey dashboard.
-2. Click on the context menu in the top right.
-3. Click on Integrations & Plug-ins
-4. Click on Develop.
-5. Click on My Apps in the top panel.
-6. Create a new app, fill in details.
-7. Once created, go to settings.
-8. Use the client ID and client secret with your SurveyMonkey OAuth API credentials in n8n.
+To configure this credential, you'll need:
-## Using Access Token
+- A **Client ID**: Generated once you create an app.
+- A **Client Secret**: Generated once you create an app.
-1. Access your SurveyMonkey dashboard.
-2. Click on the context menu in the top right.
-3. Click on Integrations & Plug-ins
-4. Click on Develop.
-5. Click on My Apps in the top panel.
-6. Create a new app, fill in details.
-7. Once created, go to settings.
-8. Use the access token, client ID and client secret with your SurveyMonkey node credentials in n8n.
+Once you've created your app and assigned appropriate scopes:
-
+1. Go to the app's **Settings > Settings**.
+2. From n8n, copy the **OAuth Redirect URL**.
+3. Overwrite the app's existing **OAuth Redirect URL** with that URL.
+4. Select **Submit Changes**.
+5. Be sure the **Scopes** section contains the [Required app scopes](#required-app-scopes).
+From the app's **Settings > Credentials**, copy the **Client ID** and **Client Secret** and add them to your n8n credential. You can now select **Connect my account** from n8n.
+
+/// note | SurveyMonkey Test OAuth Flow
+This option only works if you keep the default SurveyMonkey **OAuth Redirect URL** and add the n8n OAuth Redirect URL as an **Additional Redirect URL**.
+///
+
+## Required app scopes
+
+Once you create your app, go to **Settings > Scopes**. Select these scopes for your n8n credential to work:
+
+- **View Surveys**
+- **View Collectors**
+- **View Responses**
+- **View Response Details**
+- **Create/Modify Webhooks**
+- **View Webhooks**
+
+Select **Update Scopes** to save them.
diff --git a/docs/integrations/builtin/credentials/syncromsp.md b/docs/integrations/builtin/credentials/syncromsp.md
index 28e768c3f..d3dd6c410 100644
--- a/docs/integrations/builtin/credentials/syncromsp.md
+++ b/docs/integrations/builtin/credentials/syncromsp.md
@@ -6,21 +6,27 @@ contentType: integration
# SyncroMSP credentials
-You can use these credentials to authenticate the following nodes with SyncroMSP.
+You can use these credentials to authenticate the following nodes:
- [SyncroMSP](/integrations/builtin/app-nodes/n8n-nodes-base.syncromsp/)
## Prerequisites
-Create a [SyncroMSP](https://syncromsp.com/) account.
+Create a [SyncroMSP](https://syncromsp.com/){:target=_blank .external-link} account.
-## Using Access Token
+## Supported authentication methods
-1. With administrator privileges, navigate to the [API Tokens page in SyncroMSP](https://n8nchangelog.syncromsp.com/api_tokens).
-2. Click on the `+ New Token` button.
-3. On the `Custom Permissions` tab, enter a name for your new token and adjust the permissions to match your requirements.
-4. Click `Create API Token` once done.
-5. Copy the key shown by SyncroMSP into the `API Key` field of your SyncroMSP credentials in n8n.
-6. Enter your SyncroMSP subdomain (the part between `https://` and `.syncromsp.com`) in the `Subdomain` field of your SyncroMSP credentials in n8n.
-7. Click `Save` on the n8n credentials screen.
+- API key
+## Related resources
+
+Refer to [SyncroMSP's API documentation](https://api-docs.syncromsp.com/){:target=_blank .external-link} for more information about the service.
+
+## Using API key
+
+To configure this credential, you'll need:
+
+- An **API Key**: Called an **API token** in SyncroMSP. To create an API token, go to your **user menu > Profile/Password > API Tokens** and select the option to **Create New Token**. Select **Custom Permissions** to enter a name for your token and adjust the permissions to match your requirements.
+- Your **Subdomain**: Enter your SyncroMSP subdomain. This is visible in the URL of your SyncroMSP, located between `https://` and `.syncromsp.com`. If your full URL is `https://n8n-instance.syncromsp.com`, you'd enter `n8n-instance` as the subdomain.
+
+Refer to [API Tokens](https://community.syncromsp.com/t/api-tokens/2297){:target=_blank .external-link} for more information on creating new tokens.
diff --git a/docs/learning-path.md b/docs/learning-path.md
index 6f7591e47..4ae690995 100644
--- a/docs/learning-path.md
+++ b/docs/learning-path.md
@@ -27,6 +27,17 @@ Start with the quickstart guides to help you get up and running with building ba
## Structured Courses
+n8n offers two sets of courses.
+
+### Video courses
+
+Learn key concepts and n8n features, while building examples as you go.
+
+- The [Beginner](https://www.youtube.com/playlist?list=PLlET0GsrLUL59YbxstZE71WszP3pVnZfI){:target=_blank .external-link} course covers the basics of n8n.
+- The [Advanced](https://www.youtube.com/playlist?list=PLlET0GsrLUL5bxmx5c1H1Ms_OtOPYZIEG){:target=_blank .external-link} course covers more complex workflows, more technical nodes, and enterprise features
+
+### Text courses
+
Build more complex workflows while learning key concepts along the way. Earn a badge and an avatar in your community profile.
- [Level 1: Beginner Course](https://blog.n8n.io/announcing-the-n8n-certification-course-for-beginners-level-1/){:target=_blank .external-link}
@@ -48,4 +59,4 @@ If you can't find a node for a specific app or a service, you can build a node y
## Stay updated
- Follow new features and bug fixes in the [Release Notes](/release-notes/)
-- Follow n8n on socials: [Twitter/X](https://twitter.com/n8n_io){:target=_blank .external-link}, [Discord](https://discord.com/invite/vWwMVThRta){:target=_blank .external-link}, [LinkedIn](https://www.linkedin.com/company/n8n/){:target=_blank .external-link}, [YouTube](https://www.youtube.com/@n8n-io){:target=_blank .external-link}
\ No newline at end of file
+- Follow n8n on socials: [Twitter/X](https://twitter.com/n8n_io){:target=_blank .external-link}, [Discord](https://discord.com/invite/vWwMVThRta){:target=_blank .external-link}, [LinkedIn](https://www.linkedin.com/company/n8n/){:target=_blank .external-link}, [YouTube](https://www.youtube.com/@n8n-io){:target=_blank .external-link}
diff --git a/docs/manage-cloud/cloud-data-management.md b/docs/manage-cloud/cloud-data-management.md
new file mode 100644
index 000000000..bee8d8913
--- /dev/null
+++ b/docs/manage-cloud/cloud-data-management.md
@@ -0,0 +1,81 @@
+---
+description: How to manage your data on Cloud.
+contentType: howto
+---
+
+# Cloud data management
+
+There are two concerns when managing data on Cloud:
+
+* Memory usage: complex workflows processing large amounts of data can exceed n8n's memory limits. If this happens, the instance can crash and become inaccessible.
+* Data storage: depending on your execution settings and volume, your n8n database can grow in size and run out of storage.
+
+To avoid these issues, n8n recommends that you build your workflows with memory efficiency in mind, and don't save unnecessary data
+
+## Memory limits on each Cloud plan
+
+Current plans:
+
+* Trial: 320MiB RAM, 10 millicore CPU burstable
+* Starter: 320MiB RAM, 10 millicore CPU burstable
+* Pro-1 (10k executions): 640MiB RAM, 20 millicore CPU burstable
+* Pro-2 (50k executions): 1280MiB RAM, 80 millicore CPU burstable
+* Enterprise: 4096MiB RAM, 80 millicore CPU burstable
+
+Legacy plans:
+
+* Start: 320MiB RAM, 10 millicore CPU burstable
+* Power: 1280MiB RAM, 80 millicore CPU burstable
+
+n8n gives each instance up to 100GB of data storage.
+
+## How to reduce memory consumption in your workflow
+
+The way you build workflows affects how much data they consume when executed. Although these guidelines aren't applicable to all cases, they provide a baseline of best practices to avoid exceeding instance memory.
+
+--8<-- "_snippets/self-hosting/scaling/reduce-memory-consumption.md"
+
+Note that n8n itself consumes memory to run. On average, the software alone uses around 180MiB RAM.
+
+## How to manage execution data on Cloud
+
+Execution data includes node data, parameters, variables, execution context, and binary data references. It's text-based.
+
+Binary data is non-textual data that n8n can't represent as plain text. This is files and media such as images, documents, audio files, and videos. It's much larger than textual data.
+
+If a workflow consumes a large amounts of data and is past testing stage, it's a good option to stop saving the successful executions.
+
+There are two ways you can control how much execution data n8n stores in the database:
+
+In the admin dashboard:
+
+1. From your workspace or editor, navigate to **Admin Panel**.
+1. Select **Manage**.
+1. In **Executions to Save** deselect the executions you don't want to log.
+
+In your workflow settings:
+
+1. Select the **Options** {.off-glb} menu.
+1. Select **Settings**. n8n opens the **Workflow settings** modal.
+1. Change **Save successful production executions** to **Do not save**.
+
+## Cloud data pruning and out of memory incident prevention
+
+### Automatic data pruning
+
+n8n automatically prunes execution logs after a certain time or once you reach the max storage limit, whichever comes first. The pruning always happens from oldest to newest and the limits depend on your Could plan:
+
+* Start and Starter plans: max 2500 executions saved and 7 days execution log retention;
+* Pro and Power plans: max 25000 executions saved and 30 days execution log retention;
+* Enterprise plan: max 50000 executions saved and unlimited execution log retention time.
+
+### Manual data pruning
+
+Heavier executions and use cases can exceed database capacity despite the automatic pruning practices. In cases like this, n8n will manually prune data to protect instance stability.
+
+1. An alert system warns n8n if an instance is at 85% disk capacity.
+2. A member of the Support team contacts the instance owner to inform them and ask permission for data pruning:
+ - If the owner grants permission, n8n deletes execution data. n8n does this by running a backup of the instance (workflows, users, credentials and execution data) and restoring it without execution data.
+ - If the owner doesn't grant permission, n8n takes no action.
+
+Due to the human steps in this process, the alert system isn't perfect. If warnings are triggered after hours or if data consumption rates are high, there might not be time to warn the user or prune the data before the remaining disk space fills up.
diff --git a/docs/release-notes.md b/docs/release-notes.md
index b7957efa4..ad6146b8e 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -28,6 +28,51 @@ 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.45.1
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.45.0...n8n@1.45.1){:target=_blank .external-link} for this version.
+**Release date:** 2024-06-12
+
+/// 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 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.46.0
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.45.0...n8n@1.46.0){:target=_blank .external-link} for this version.
+**Release date:** 2024-06-12
+
+/// 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 feature enhancements, node enhancements, and bug fixes.
+
+For full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases){:target=_blank .external-link} on GitHub.
+
+### Contributors
+
+[Jean Khawand](https://github.com/jeankhawand){:target=_blank .external-link}
+[pemontto](https://github.com/pemontto){:target=_blank .external-link}
+[Valentin Coppin](https://github.com/valimero){:target=_blank .external-link}
+
+## n8n@1.44.2
+
+View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.44.1...n8n@1.44.2){:target=_blank .external-link} for this version.
+**Release date:** 2024-06-12
+
+
+
+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.42.2
View the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.42.1...n8n@1.42.2){:target=_blank .external-link} for this version.
@@ -42,9 +87,6 @@ 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.44.1...n8n@1.45.0){:target=_blank .external-link} for this version.
**Release date:** 2024-06-06
-/// 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 new features, node enhancements, and bug fixes.
@@ -56,10 +98,6 @@ 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.44.0...n8n@1.44.1){:target=_blank .external-link} for this version.
**Release date:** 2024-06-03
-/// 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 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.
@@ -102,9 +140,9 @@ Instance owners and admins: you will see changes if you try to manually execute
-#### New feature: Role based access control (RBAC)
+#### New feature: Projects
-Role-based access control (RBAC) saves you time when managing user permissions in large systems. With projects and roles, you can give your team access to collections of workflows and credentials, rather than having to share each workflow and credential individually. Simultaneously, you tighten security by limiting access to people on the relevant team.
+With projects and roles, you can give your team access to collections of workflows and credentials, rather than having to share each workflow and credential individually. Simultaneously, you tighten security by limiting access to people on the relevant team.
Refer to the [RBAC](/user-management/rbac/) documentation for information on creating projects and using roles.
diff --git a/docs/try-it-out/longer-introduction.md b/docs/try-it-out/longer-introduction.md
index 61c4d7d18..85f324e0c 100644
--- a/docs/try-it-out/longer-introduction.md
+++ b/docs/try-it-out/longer-introduction.md
@@ -135,5 +135,5 @@ Postbin's bins exist for 30 minutes after creation. You may need to create a new
## Next steps
-* Take n8n's [courses](/courses/).
+* Take n8n's [text courses](/courses/) or [video courses](/video-courses/).
* Explore more examples in [workflow templates](https://n8n.io/workflows/){:target=_blank .external-link}.
diff --git a/docs/try-it-out/quickstart.md b/docs/try-it-out/quickstart.md
index 1b377bc46..d398dee22 100644
--- a/docs/try-it-out/quickstart.md
+++ b/docs/try-it-out/quickstart.md
@@ -21,11 +21,9 @@ You will:
n8n provides a quickstart template using training nodes. This allows you to work with fake data, and avoids setting up credentials.
-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 template** to view the options for using the template.
-5. Select **Import template to cloud workspace** to load the template into your Cloud instance.
+1. Go to [Templates | Very quick quickstart](https://n8n.io/workflows/1700-very-quick-quickstart/){:target=_blank .external-link}.
+1. Select **Use workflow** to view the options for using the template.
+1. Select **Import template to cloud workspace** to load the template into your Cloud instance.
This workflow:
@@ -63,6 +61,6 @@ The complete workflow should look like this:
## Next steps
* Read n8n's [longer try it out tutorial](/try-it-out/longer-introduction/) for a more complex workflow, and an introduction to more features and n8n concepts.
-* Take the [courses](/courses/).
+* Take the [text courses](/courses/) or [video courses](/video-courses/).
diff --git a/docs/video-courses.md b/docs/video-courses.md
new file mode 100644
index 000000000..c64ccd38b
--- /dev/null
+++ b/docs/video-courses.md
@@ -0,0 +1,39 @@
+---
+title: Video courses
+description: Links to n8n's video courses on YouTube.
+contentType: overview
+---
+
+# Video courses
+
+n8n provides two video courses on YouTube.
+
+For support, join the [Forum](https://community.n8n.io/){:target=_blank .external-link}.
+
+## Beginner
+
+The [Beginner](https://www.youtube.com/playlist?list=PLlET0GsrLUL59YbxstZE71WszP3pVnZfI){:target=_blank .external-link} course covers the basics of n8n:
+
+- [Introduction and workflows](https://youtu.be/4BVTkqbn_tY?si=g2A5eD8kAoia5k6y){:target=_blank .external-link}
+- [APIs and Webhooks](https://youtu.be/y_cpFMF1pzk?si=zi3wM4W7nx8Jkcw3){:target=_blank .external-link}
+- [Nodes](https://youtu.be/rCPXBkeBWCQ?si=-T2iUsydwS5ym6yI){:target=_blank .external-link}
+- [Data in n8n](https://youtu.be/2YfWuNziPE4?si=4jB-fubG1_T0HXYx){:target=_blank .external-link}
+- [Core workflow concepts](https://youtu.be/kkrA7tGHYNo?si=mLVbuV98ohL5YVnm){:target=_blank .external-link}
+- [Useful nodes](https://youtu.be/Rmi-ckbMOQE?si=H_dF77uf5KJU7RtH){:target=_blank .external-link}
+- [Error handling](https://youtu.be/XEUVl3bbMhI?si=nUyaME5kyxe6daGO){:target=_blank .external-link}
+- [Debugging](https://youtu.be/Gxe_RfCRH-o?si=F-pAviLTIeL3-X13){:target=_blank .external-link}
+- [Collaboration](https://youtu.be/pI0W-0Qcwmo?si=X7sALFXo2e-cY9FQ){:target=_blank .external-link}
+
+
+## Advanced
+
+The [Advanced](https://www.youtube.com/playlist?list=PLlET0GsrLUL5bxmx5c1H1Ms_OtOPYZIEG){:target=_blank .external-link} course covers more complex workflows, more technical nodes, and enterprise features:
+
+- [Introduction and complex data flows](https://youtu.be/TFTLMQLozCI?si=vX0ooIH1RmbsgAkC){:target=_blank .external-link}
+- [Advanced technical nodes](https://youtu.be/JM4jqYs4Fxo?si=YSNMeSay3C29C8HS){:target=_blank .external-link}
+- [Pinning and editing output data](https://youtu.be/zcNB8L4_9mA?si=LZJ9DlYDQQxL7eeP){:target=_blank .external-link}
+- [Subworkflows](https://youtu.be/xr05Ie_Hkyg?si=rqqP8llttZPBjBeD){:target=_blank .external-link}
+- [Error workflows](https://youtu.be/77Ewdaby47M?si=6YRlC4nMgG4hVQPV){:target=_blank .external-link}
+- [Building a full example](https://youtu.be/wOKLEfeJLVE?si=YMW5t-PzPq7QKbPY){:target=_blank .external-link}
+- [Handling files](https://youtu.be/2RAZYNigqOY?si=9x4vLX2Qo08xx8vC){:target=_blank .external-link}
+- [Enterprise features](https://youtu.be/fXEubzmVJ_E?si=aK9_fI9tkF6F5CtB){:target=_blank .external-link}
\ No newline at end of file
diff --git a/document-templates/credentials.md b/document-templates/credentials.md
index 8be432e0c..1ebaaaefa 100644
--- a/document-templates/credentials.md
+++ b/document-templates/credentials.md
@@ -32,6 +32,9 @@ You can use these credentials to authenticate the following nodes:
* _List of apps_
* _That use these credentials_
+
+--8<-- "_snippets/integrations/builtin/credentials/cred-only-statement.md"
+
## Prerequisites
_Include info on services they need to sign up for_
diff --git a/mkdocs.yml b/mkdocs.yml
index e8391064b..4e1f9cbe0 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -181,11 +181,12 @@ nav:
- Getting started:
- Learning path: learning-path.md
- Choose your n8n: choose-n8n.md
- - Try it out:
+ - Quickstarts:
- try-it-out/index.md
- A very quick quickstart: try-it-out/quickstart.md
- A longer introduction: try-it-out/longer-introduction.md
- - Courses:
+ - Video courses: video-courses.md
+ - Text courses:
- courses/index.md
- Level one:
- courses/level-one/index.md
@@ -297,6 +298,7 @@ nav:
- Update your n8n Cloud version: manage-cloud/update-cloud-version.md
- Set the timezone: manage-cloud/set-cloud-timezone.md
- Cloud IP addresses: manage-cloud/cloud-ip.md
+ - Cloud data management: manage-cloud/cloud-data-management.md
- Enterprise features:
- Source control and environments:
- source-control-environments/index.md