clear out old link syntax (#3402)

Co-authored-by: Justin Ellingwood <justin@n8n.io>
This commit is contained in:
Deborah Barnard 2025-07-24 15:26:35 +01:00 committed by GitHub
parent 523040b137
commit 37600df69a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
654 changed files with 3132 additions and 3128 deletions

View File

@ -6,4 +6,4 @@ BasedOnStyles = from-write-good, n8n-styles, from-microsoft, Vale
Vale.Terms = NO
from-alex.Profanity = NO
from-microsoft.Quotes = NO
TokenIgnores = (\-\-8\<\-\- \".*\"), (-only), (\*\*.*\*\*), (\*\*Release date:\*\*.*), (\[\[\%.*\%\]\]), (\[.*\]\(.*\)\{:target=_blank .external-link\}), (\[\[.*\]\]), (Rocket\.Chat), (\(https.*\)), (how\smany), (too\smany)
TokenIgnores = (\-\-8\<\-\- \".*\"), (-only), (\*\*.*\*\*), (\*\*Release date:\*\*.*), (\[\[\%.*\%\]\]), (\[\[.*\]\]), (Rocket\.Chat), (\(https.*\)), (how\smany), (too\smany)

View File

@ -1,3 +1,3 @@
/// info | Feature availability
Embed requires an embed license. For more information about when to use Embed, as well as costs and licensing processes, refer to [Embed](https://n8n.io/embed/){:target=_blank .external-link} on the n8n website.
Embed requires an embed license. For more information about when to use Embed, as well as costs and licensing processes, refer to [Embed](https://n8n.io/embed/) on the n8n website.
///

View File

@ -1,4 +1,4 @@
- **Cell Format**: Use this option to choose how to format the data in cells. Refer to [Google Sheets API | CellFormat](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/cells#CellFormat){:target=_blank .external-link} for more information.
- **Cell Format**: Use this option to choose how to format the data in cells. Refer to [Google Sheets API | CellFormat](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/cells#CellFormat) for more information.
- **Let Google Sheets format** (default): n8n formats text and numbers in the cells according to Google Sheets' default settings.
- **Let n8n format**: New cells in your sheet will have the same data types as the input data provided by n8n.
- **Data Location on Sheet**: Use this option when you need to specify the data range on your sheet.
@ -8,7 +8,7 @@
- **Insert in New Column(s)** (default): Adds new columns for any extra data.
- **Ignore Them**: Ignores extra data that don't match the existing columns.
- **Error**: Throws an error and stops execution.
- **Use Append**: Turn on this option to use the [Google API append endpoint](https://developers.google.com/sheets/api/guides/values#append_values){:target=_blank .external-link} for adding new data rows.
- **Use Append**: Turn on this option to use the [Google API append endpoint](https://developers.google.com/sheets/api/guides/values#append_values) for adding new data rows.
- By default, n8n appends empty rows or columns and then adds the new data. This approach can ensure data alignment but may be less efficient. Using the append endpoint can lead to better performance by minimizing the number of API calls and simplifying the process. But if the existing sheet data has inconsistencies such as gaps or breaks between rows and columns, n8n may add the new data in the wrong place, leading to misalignment issues.
- Use this option when performance is a priority and the data structure in the sheet is consistent without gaps.

View File

@ -1 +1 @@
Refer to [LangChain's documentation on document loaders](https://js.langchain.com/docs/modules/data_connection/document_loaders/integrations/file_loaders/){:target=_blank .external-link} for more information about the service.
Refer to [LangChain's documentation on document loaders](https://js.langchain.com/docs/modules/data_connection/document_loaders/integrations/file_loaders/) for more information about the service.

View File

@ -6,4 +6,4 @@
| `this.getInputData(inputIndex?, inputName?)` | Get data from the main input. |
| `this.getNode()` | Get the current node. |
| `this.getNodeOutputs()` | Get the outputs of the current node. |
| `this.getExecutionCancelSignal()` | Use this to stop the execution of a function when the workflow stops. In most cases n8n handles this, but you may need to use it if building your own chains or agents. It replaces the [Cancelling a running LLMChain](https://js.langchain.com/docs/modules/chains/foundational/llm_chain#cancelling-a-running-llmchain){:target=_blank .external-link} code that you'd use if building a LangChain application normally. |
| `this.getExecutionCancelSignal()` | Use this to stop the execution of a function when the workflow stops. In most cases n8n handles this, but you may need to use it if building your own chains or agents. It replaces the [Cancelling a running LLMChain](https://js.langchain.com/docs/modules/chains/foundational/llm_chain#cancelling-a-running-llmchain) code that you'd use if building a LangChain application normally. |

View File

@ -1 +1 @@
Refer to [LangChain's documentation on tools](https://langchain-ai.github.io/langgraphjs/how-tos/tool-calling/){:target=_blank .external-link} for more information about tools in LangChain.
Refer to [LangChain's documentation on tools](https://langchain-ai.github.io/langgraphjs/how-tos/tool-calling/) for more information about tools in LangChain.

View File

@ -9,11 +9,11 @@ This page gives usage information about the Code node. For more guidance on codi
///
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [Code integrations](https://n8n.io/integrations/code/){:target=_blank .external-link} page.
For usage examples and templates to help you get started, refer to n8n's [Code integrations](https://n8n.io/integrations/code/) page.
///
/// note | Function and Function Item nodes
The Code node replaces the Function and Function Item nodes from version 0.198.0. If you're using an older version of n8n, you can still view the [Function node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md){:target=_blank .external-link} and [Function Item node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md){:target=_blank .external-link}.
The Code node replaces the Function and Function Item nodes from version 0.198.0. If you're using an older version of n8n, you can still view the [Function node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md) and [Function Item node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md).
///
## Usage
@ -43,8 +43,8 @@ If you self-host n8n, you can import and use built-in and external npm modules i
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}
* [crypto Node.js module](https://nodejs.org/docs/latest-v18.x/api/crypto.html)
* [moment npm package](https://www.npmjs.com/package/moment)
### Built-in methods and variables
@ -58,7 +58,7 @@ The Code node editing environment supports time-saving and useful keyboard short
## Python
n8n added Python support in version 1.0. It doesn't include a Python executable. Instead, n8n provides Python support using [Pyodide](https://pyodide.org/en/stable/){:target=_blank .external-link}, which is a port of CPython to WebAssembly. This limits the available Python packages to the [Packages included with Pyodide](https://pyodide.org/en/stable/usage/packages-in-pyodide.html#packages-in-pyodide){:target=_blank .external-link}. n8n downloads the package automatically the first time you use it.
n8n added Python support in version 1.0. It doesn't include a Python executable. Instead, n8n provides Python support using [Pyodide](https://pyodide.org/en/stable/), which is a port of CPython to WebAssembly. This limits the available Python packages to the [Packages included with Pyodide](https://pyodide.org/en/stable/usage/packages-in-pyodide.html#packages-in-pyodide). n8n downloads the package automatically the first time you use it.
/// note | Slower than JavaScript
The Code node takes longer to process Python than JavaScript. This is due to the extra compilation steps.

View File

@ -1,8 +1,8 @@
To generate an app password:
1. In your Google account, go to [App passwords](https://myaccount.google.com/apppasswords){:target=_blank .external-link}.
1. In your Google account, go to [App passwords](https://myaccount.google.com/apppasswords).
2. Enter an **App name** for your new app password, like `n8n credential`.
3. Select **Create**.
4. Copy the generated app password. You'll use this in your n8n credential.
Refer to Google's [Sign in with app passwords documentation](https://support.google.com/accounts/answer/185833?hl=en){:target=_blank .external-link} for more information.
Refer to Google's [Sign in with app passwords documentation](https://support.google.com/accounts/answer/185833?hl=en) for more information.

View File

@ -1,12 +1,12 @@
To enable 2-step Verification:
1. Log in to your [Google Account](https://myaccount.google.com/){:target=_blank .external-link}.
1. Log in to your [Google Account](https://myaccount.google.com/).
2. Select **Security** from the left navigation.
3. Under **How you sign in to Google**, select **2-Step Verification**.
- If 2-Step Verification is already enabled, skip to the next section.
4. Select **Get started**.
5. Follow the on-screen steps to configure 2-Step Verification.
Refer to [Turn on 2-step Verification](https://support.google.com/accounts/answer/185839){:target=_blank .external-link} for more information.
Refer to [Turn on 2-step Verification](https://support.google.com/accounts/answer/185839) for more information.
If you can't turn on 2-step Verification, check with your email administrator.

View File

@ -2,12 +2,12 @@ If you'd prefer to use an app password instead of your email account password:
1. Log into the [My Account](https://myaccount.microsoft.com/) page.
2. If you have a left navigation option for **Security Info**, jump to [Security Info app password](#security-info-app-password). If you don't have an option for **Security Info**, continue with these instructions.
3. Go to the [Additional security verification page](https://account.activedirectory.windowsazure.com/Proofup.aspx){:target=_blank .external-link}.
3. Go to the [Additional security verification page](https://account.activedirectory.windowsazure.com/Proofup.aspx).
4. Select **App passwords** and **Create**.
5. Enter a **Name** for your app password, like `n8n credential`.
6. Use the option to **copy password to clipboard** and enter this as the **Password** in n8n instead of your email account password.
Refer to Outlook's [Manage app passwords for 2-step verification](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9){:target=_blank .external-link} page for more information.
Refer to Outlook's [Manage app passwords for 2-step verification](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9) page for more information.
### Security Info app password
@ -19,4 +19,4 @@ If you have a left navigation option for **Security Info**:
4. Enter a **Name** for your app password, like `n8n credential`.
5. Copy the **Password** and enter this as the **Password** in n8n instead of your email account password.
Refer to Outlook's [Create app passwords from the Security info (preview)](https://support.microsoft.com/en-us/account-billing/create-app-passwords-from-the-security-info-preview-page-d8bc744a-ce3f-4d4d-89c9-eb38ab9d4137){:target=_blank .external-link} page for more information.
Refer to Outlook's [Create app passwords from the Security info (preview)](https://support.microsoft.com/en-us/account-billing/create-app-passwords-from-the-security-info-preview-page-d8bc744a-ce3f-4d4d-89c9-eb38ab9d4137) page for more information.

View File

@ -5,4 +5,4 @@
3. Select **Generate password**.
4. Copy the generated app password. You'll use this in your n8n credential.
Refer to Yahoo's [Generate and manage 3rd-party app passwords](https://help.yahoo.com/kb/generate-manage-third-party-passwords-sln15241.html){:target=_blank .external-link} for more information.
Refer to Yahoo's [Generate and manage 3rd-party app passwords](https://help.yahoo.com/kb/generate-manage-third-party-passwords-sln15241.html) for more information.

View File

@ -1 +1 @@
For Google Cloud apps with **Publishing status** set to **Testing** and **User type** set to **External**, consent and tokens expire after seven days. Refer to [Google Cloud Platform Console Help | Setting up your OAuth consent screen](https://support.google.com/cloud/answer/10311615?hl=en#zippy=%2Ctesting){:target=_blank .external-link} for more information. To resolve this, reconnect the app in the n8n credentials modal.
For Google Cloud apps with **Publishing status** set to **Testing** and **User type** set to **External**, consent and tokens expire after seven days. Refer to [Google Cloud Platform Console Help | Setting up your OAuth consent screen](https://support.google.com/cloud/answer/10311615?hl=en#zippy=%2Ctesting) for more information. To resolve this, reconnect the app in the n8n credentials modal.

View File

@ -1,4 +1,4 @@
1. Access your [Google Cloud Console - Library](https://console.cloud.google.com/apis/library){:target=_blank .external-link}. Make sure you're in the correct project.
1. Access your [Google Cloud Console - Library](https://console.cloud.google.com/apis/library). Make sure you're in the correct project.
<figure markdown="span">
![The project dropdown in the Google Cloud top navigation](/_images/integrations/builtin/credentials/google/google-cloud-project-dropdown.png)
<figcaption>Check the project dropdown in the Google Cloud top navigation</figcaption>
@ -6,8 +6,8 @@
1. Go to **APIs & Services > Library**.
1. Search for and select the API(s) you want to enable. For example, for the Gmail node, search for and enable the Gmail API.
1. Some integrations require other APIs or require you to request access:
* Google Perspective: [Request API Access](https://developers.perspectiveapi.com/s/docs-get-started){:target=_blank .external-link}.
* Google Ads: Get a [Developer Token](https://developers.google.com/google-ads/api/docs/first-call/dev-token){:target=_blank .external-link}.
* Google Perspective: [Request API Access](https://developers.perspectiveapi.com/s/docs-get-started).
* Google Ads: Get a [Developer Token](https://developers.google.com/google-ads/api/docs/first-call/dev-token).
/// note | Google Drive API required
The following integrations require the Google Drive API, as well as their own API:
@ -18,7 +18,7 @@
///
/// note | Google Vertex AI API
In addition to the Vertex AI API you will also need to enable the [Cloud Resource Manager API](https://console.cloud.google.com/apis/api/cloudresourcemanager.googleapis.com/){:target=_blank .external-link}.
In addition to the Vertex AI API you will also need to enable the [Cloud Resource Manager API](https://console.cloud.google.com/apis/api/cloudresourcemanager.googleapis.com/).
///

View File

@ -1,3 +1,3 @@
If using the OAuth authentication method, you might see the warning **Google hasn't verified this app**. To avoid this, you can create OAuth credentials from the same account you want to authenticate.
If you need to use credentials generated by another account (by a developer or another third party), follow the instructions in [Google Cloud documentation | Authorization errors: Google hasn't verified this app](https://developers.google.com/nest/device-access/reference/errors/authorization#google_hasnt_verified_this_app){:target=_blank .external-link}.
If you need to use credentials generated by another account (by a developer or another third party), follow the instructions in [Google Cloud documentation | Authorization errors: Google hasn't verified this app](https://developers.google.com/nest/device-access/reference/errors/authorization#google_hasnt_verified_this_app).

View File

@ -1,6 +1,6 @@
Slack offers **token rotation** that you can turn on for bot and user tokens. This makes every tokens expire after 12 hours. While this may be useful for testing, n8n credentials using tokens with this enabled will fail after expiry. If you want to use your Slack credentials in production, this feature must be **off**.
To check if your Slack app has token rotation turned on, refer to the [Slack API Documentation | Token Rotation](https://api.slack.com/authentication/rotation){:target=_blank .external-link}.
To check if your Slack app has token rotation turned on, refer to the [Slack API Documentation | Token Rotation](https://api.slack.com/authentication/rotation).
/// note | If your app uses token rotation
Please note, if your Slack app uses token rotation, you can't turn it off again. You need to create a new Slack app with token rotation disabled instead.

View File

@ -35,7 +35,7 @@ Enter a custom **Cron Expression** to trigger the poll. Use these values and ran
* Months: `0` - `11` (Jan - Dec)
* Day of Week: `0` - `6` (Sun - Sat)
To generate a Cron expression, you can use [crontab guru](https://crontab.guru){:target=_blank .external-link}. Paste the Cron expression that you generated using crontab guru in the **Cron Expression** field in n8n.
To generate a Cron expression, you can use [crontab guru](https://crontab.guru). Paste the Cron expression that you generated using crontab guru in the **Cron Expression** field in n8n.
#### Examples

View File

@ -1,6 +1,6 @@
## The service is receiving too many requests from you
This error displays when you've exceeded [OpenAI's rate limits](https://platform.openai.com/docs/guides/rate-limits){:target=_blank .external-link}.
This error displays when you've exceeded [OpenAI's rate limits](https://platform.openai.com/docs/guides/rate-limits).
There are two ways to work around this issue:
@ -113,7 +113,7 @@ There are two ways to work around this issue:
"pinData": {}
}
```
2. Use the [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/index.md) node with the built-in batch-limit option against the [OpenAI API](https://platform.openai.com/docs/quickstart){:target=_blank .external-link} instead of using the OpenAI node.
2. Use the [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/index.md) node with the built-in batch-limit option against the [OpenAI API](https://platform.openai.com/docs/quickstart) instead of using the OpenAI node.
## Insufficient quota
@ -123,14 +123,14 @@ There are a number of OpenAI issues surrounding quotas, including failures when
This error displays when your OpenAI account doesn't have enough credits or capacity to fulfill your request. This may mean that your OpenAI trial period has ended, that your account needs more credit, or that you've gone over a usage limit.
To troubleshoot this error, on your [OpenAI settings](https://platform.openai.com/settings/organization/billing/overview){:target=_blank .external-link} page:
To troubleshoot this error, on your [OpenAI settings](https://platform.openai.com/settings/organization/billing/overview) page:
* Select the correct organization for your API key in the first selector in the upper-left corner.
* Select the correct project for your API key in the second selector in the upper-left corner.
* Check the organization-level [billing overview](https://platform.openai.com/settings/organization/billing/overview){:target=_blank .external-link} page to ensure that the organization has enough credit. Double-check that you select the correct organization for this page.
* Check the organization-level [usage limits](https://platform.openai.com/settings/organization/limits){:target=_blank .external-link} page. Double-check that you select the correct organization for this page and scroll to the **Usage limits** section to verify that you haven't exceeded your organization's usage limits.
* Check the organization-level [billing overview](https://platform.openai.com/settings/organization/billing/overview) page to ensure that the organization has enough credit. Double-check that you select the correct organization for this page.
* Check the organization-level [usage limits](https://platform.openai.com/settings/organization/limits) page. Double-check that you select the correct organization for this page and scroll to the **Usage limits** section to verify that you haven't exceeded your organization's usage limits.
* Check your OpenAI project's usage limits. Double-check that you select the correct project in the second selector in the upper-left corner. Select **Project** > **Limits** to view or change the project limits.
* Check that the [OpenAI API](https://status.openai.com/){:target=_blank .external-link} is operating as expected.
* Check that the [OpenAI API](https://status.openai.com/) is operating as expected.
/// note | Balance waiting period
After topping up your balance, there may be a delay before your OpenAI account reflects the new balance.
@ -138,10 +138,10 @@ After topping up your balance, there may be a delay before your OpenAI account r
In n8n:
* check that the [OpenAI credentials](/integrations/builtin/credentials/openai.md) use a valid [OpenAI API key](https://platform.openai.com/api-keys){:target=_blank .external-link} for the account you've added money to
* check that the [OpenAI credentials](/integrations/builtin/credentials/openai.md) use a valid [OpenAI API key](https://platform.openai.com/api-keys) for the account you've added money to
* ensure that you connect the [OpenAI node](/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/index.md) to the correct [OpenAI credentials](/integrations/builtin/credentials/openai.md)
If you find yourself frequently running out of account credits, consider turning on auto recharge in your [OpenAI billing settings](https://platform.openai.com/settings/organization/billing/overview){:target=_blank .external-link} to automatically reload your account with credits when your balance reaches $0.
If you find yourself frequently running out of account credits, consider turning on auto recharge in your [OpenAI billing settings](https://platform.openai.com/settings/organization/billing/overview) to automatically reload your account with credits when your balance reaches $0.
## Bad request - please check your parameters

View File

@ -6,7 +6,7 @@ Community nodes are npm packages, hosted in the npm registry.
When building a node to submit to the community node repository, use the following resources to make sure your node setup is correct:
* View the [starter node](https://github.com/n8n-io/n8n-nodes-starter){:target=_blank .external-link} and [n8n's own nodes](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes){:target=_blank .external-link} for some examples.
* View the [starter node](https://github.com/n8n-io/n8n-nodes-starter) and [n8n's own nodes](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes) for some examples.
* Refer to the documentation on [building your own nodes](/integrations/creating-nodes/overview.md).
* Make sure your node follows the [standards](#standards) for community nodes.
@ -16,9 +16,9 @@ To make your node available to the n8n community node repository, you must:
* Make sure the package name starts with `n8n-nodes-` or `@<scope>/n8n-nodes-`. For example, `n8n-nodes-weather` or `@weatherPlugins/n8n-nodes-weather`.
* Include `n8n-community-node-package` in your package keywords.
* Make sure that you add your nodes and credentials to the `package.json` file inside the `n8n` attribute. Refer to the [package.json in the starter node](https://github.com/n8n-io/n8n-nodes-starter/blob/master/package.json){:target=_blank .external-link} for an example.
* Make sure that you add your nodes and credentials to the `package.json` file inside the `n8n` attribute. Refer to the [package.json in the starter node](https://github.com/n8n-io/n8n-nodes-starter/blob/master/package.json) for an example.
* Check your node using the [linter](/integrations/creating-nodes/test/node-linter.md) and test it locally to ensure it works.
* Submit the package to the npm registry. Refer to npm's documentation on [Contributing packages to the registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry){:target=_blank .external-link} for more information.
* Submit the package to the npm registry. Refer to npm's documentation on [Contributing packages to the registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) for more information.
## Submit your node for verification by n8n

View File

@ -1,5 +1,5 @@
/// 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}.
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).
Current `latest`: 1.103.2
Current `next`: 1.104.1

View File

@ -6,5 +6,5 @@ Self-hosting n8n requires technical knowledge, including:
* Securing servers and applications
* Configuring n8n
n8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/){:target=_blank .external-link}.
n8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends [n8n Cloud](https://n8n.io/cloud/).
///

View File

@ -6,7 +6,7 @@ Available from version 0.225.0.
///
This section provides guidance on using SAML SSO (single sign-on) with n8n. It assumes you're familiar with SAML. If you're not, [SAML Explained in Plain English](https://www.onelogin.com/learn/saml){:target=_blank .external-link} can help you understand how SAML works, and its benefits.
This section provides guidance on using SAML SSO (single sign-on) with n8n. It assumes you're familiar with SAML. If you're not, [SAML Explained in Plain English](https://www.onelogin.com/learn/saml) can help you understand how SAML works, and its benefits.
* [Set up SAML](/user-management/saml/setup.md): a general guide to setting up SAML in n8n, and links to resources for common IdPs. Start here.
* [Okta Workforce Identity SAML setup](/user-management/saml/okta.md): step-by-step guidance to configuring Okta.

View File

@ -2,4 +2,4 @@ You can submit your workflows to n8n's template library.
n8n is working on a creator program, and developing a marketplace of templates. This is an ongoing project, and details are likely to change.
Refer to [n8n Creator hub](https://www.notion.so/n8n/n8n-Creator-hub-7bd2cbe0fce0449198ecb23ff4a2f76f){:target=_blank .external-link} for information on how to submit templates and become a creator.
Refer to [n8n Creator hub](https://www.notion.so/n8n/n8n-Creator-hub-7bd2cbe0fce0449198ecb23ff4a2f76f) for information on how to submit templates and become a creator.

View File

@ -460,5 +460,5 @@ Since our server is running locally, we need a tool that lets us proxy all reque
## Next steps
* [Deploy your node](/integrations/creating-nodes/deploy/).
* View an example of a declarative node: n8n's [Brevo node](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Brevo){:target=_blank .external-link}. Note that the main node is declarative, while the trigger node is in programmatic style.
* View an example of a declarative node: n8n's [Brevo node](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Brevo). Note that the main node is declarative, while the trigger node is in programmatic style.
* Learn about [node versioning](/integrations/creating-nodes/build/reference/node-versioning/).

View File

@ -1,6 +1,6 @@
# Venafi TLS Protect Datacenter Trigger
[Venafi](https://www.venafi.com/){:target=_blank .external-link} is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence.
[Venafi](https://www.venafi.com/) is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence.
/// note | Credentials
You can find authentication information for this node [here](/integrations/builtin/credentials/venafitlsprotectdatacenter/).

View File

@ -10,7 +10,7 @@ The Retrieval QA Chain node allows you to answer a query based on document conte
On this page, you'll find the node parameters for the Retrieval QA Chain node, and links to more resources.
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [LangChain integrations](https://n8n.io/integrations/langchain/){:target=_blank .external-link} page.
For usage examples and templates to help you get started, refer to n8n's [LangChain integrations](https://n8n.io/integrations/langchain/) page.
///
## Node parameters
@ -31,8 +31,8 @@ There are two modes:
## Related resources
View [example workflows and related content](https://n8n.io/integrations/langchain/){:target=_blank .external-link} on n8n's website.
View [example workflows and related content](https://n8n.io/integrations/langchain/) on n8n's website.
Refer to [LangChain's documentation on Retrieval QA](https://js.langchain.com/docs/modules/chains/popular/vector_db_qa){:target=_blank .external-link} for more information about the service.
Refer to [LangChain's documentation on Retrieval QA](https://js.langchain.com/docs/modules/chains/popular/vector_db_qa) for more information about the service.
--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md"

View File

@ -15,7 +15,7 @@ On this page, you'll find the node parameters for the _Name_ node, and links to
You can find authentication information for this node [here](/integrations/builtin/credentials/_Name_/).
///
/// note | Examples and templates
For usage examples and templates to help you get started, refer to n8n's [LangChain integrations](https://n8n.io/integrations/langchain/){:target=_blank .external-link} page.
For usage examples and templates to help you get started, refer to n8n's [LangChain integrations](https://n8n.io/integrations/langchain/) page.
///
## Node parameters
@ -24,8 +24,8 @@ For usage examples and templates to help you get started, refer to n8n's [LangCh
## Related resources
View [example workflows and related content](https://n8n.io/integrations/langchain/){:target=_blank .external-link} on n8n's website.
View [example workflows and related content](https://n8n.io/integrations/langchain/) on n8n's website.
Refer to [_Name_'s documentation](){:target=_blank .external-link} for more information about the service.
Refer to [_Name_'s documentation]() for more information about the service.
--8<-- "_snippets/integrations/builtin/cluster-nodes/langchain-overview-link.md"

View File

@ -4,12 +4,12 @@ This checklist helps you build a node that meets the standards for submission to
## Preparation
<input type="checkbox"> Set up your editor for code formatting (indentation, new lines, linting). If you use Visual Studio Code, you can use the [TSLint extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin){:target=_blank .external-link} for linting.</input> <br>
<input type="checkbox"> Set up your editor for code formatting (indentation, new lines, linting). If you use Visual Studio Code, you can use the [TSLint extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin) for linting.</input> <br>
<input type="checkbox"> Get credentials (for example, Client ID, Client Secret, API key, user login, user password, website URL) for the service you are building a node for.</input>
## Development
<input type="checkbox"> If you're creating a node requested by a community member, make sure to comment on the feature request in the [community forum](https://community.n8n.io/c/feature-requests/5){:target=_blank .external-link}.</input><br>
<input type="checkbox"> If you're creating a node requested by a community member, make sure to comment on the feature request in the [community forum](https://community.n8n.io/c/feature-requests/5).</input><br>
<input type="checkbox"> Add complementary operations to each resource (for example, create, delete)</input><br>
<input type="checkbox"> Programmatic-style only. Check the node works with more than one input item.</input><br>
<input type="checkbox"> Ensure the parameters have the correct type.</input><br>
@ -34,7 +34,7 @@ This checklist helps you build a node that meets the standards for submission to
<input type="checkbox"> Ensure empty API responses return `{ success: true }`.</input><br>
<input type="checkbox"> Ensure the node handles and displays error responses (for example, malformed requests, requests with invalid credentials) and use the current format. You can check this by making failing requests to the API.</input><br>
<input type="checkbox"> Check if you can simplify the response. If so, add a simplify function (for example, [SecurityScorecard node](https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/SecurityScorecard/GenericFunctions.ts){:target=_blank .external-link}).</input><br>
<input type="checkbox"> Check if you can simplify the response. If so, add a simplify function (for example, [SecurityScorecard node](https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/SecurityScorecard/GenericFunctions.ts)).</input><br>
<input type="checkbox"> Ensure the response from `Create` is consistent with `Get`.</input><br>
<input type="checkbox"> Ensure the response from `Get All` is consistent with `Get`.</input><br>
@ -59,7 +59,7 @@ This checklist helps you build a node that meets the standards for submission to
<!-- vale off -->
<input type="checkbox"> Check that brand names are correct (for example, "GitHub" not "Github"). </input><br>
<input type="checkbox">If the node is a trigger node, show this in the name by adding "Trigger" after the service name (for example, "Trello Trigger").</input><br>
<input type="checkbox"> Ensure the logo is either a PNG or SVG, ideally the latter. [Vecta](https://vecta.io/symbols){:target=_blank .external-link} is a good website to find SVGs of different applications.</input><br>
<input type="checkbox"> Ensure the logo is either a PNG or SVG, ideally the latter. [Vecta](https://vecta.io/symbols) is a good website to find SVGs of different applications.</input><br>
<input type="checkbox"> If the logo is an SVG, ensure the canvas is a perfect square. If the logo is PNG, ensure it's 60x60 pixels and compressed.</input><br>
<input type="checkbox"> Ensure the border color of the node matches the branding of the service.</input><br>
<!-- vale on -->
@ -67,6 +67,6 @@ This checklist helps you build a node that meets the standards for submission to
## Nice-to-haves (optional)
<input type="checkbox"> Add handler for `continueOnFail`. This handler continues the workflow even if the node's execution fails.</input><br>
<input type="checkbox"> Remove `required: false` and `description: ''` in the node descriptions (for example, [Lemlist node](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Lemlist/descriptions){:target=_blank .external-link}).</input><br>
<input type="checkbox"> Remove `required: false` and `description: ''` in the node descriptions (for example, [Lemlist node](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes/Lemlist/descriptions)).</input><br>
<input type="checkbox"> At call site, specify first `body` and then `qs`.</input><br>
<input type="checkbox"> At call site, prepend the endpoint with slash `/` (for example, "/campaign").</input><br>

View File

@ -41,7 +41,7 @@ This is some danger box contents.
Inline images like this should **not** expand on click: <span class="inline-image">![Add node icon](/_images/try-it-out/add-node-small.png){.off-glb}</span>
If it expands on click, first check that the `off-glb` class has been applied. Refer to [MkDocs GLightbox | Disable by image](https://blueswen.github.io/mkdocs-glightbox/disable/image/){:target=_blank .external-link} for more information.
If it expands on click, first check that the `off-glb` class has been applied. Refer to [MkDocs GLightbox | Disable by image](https://blueswen.github.io/mkdocs-glightbox/disable/image/) for more information.
### Other images

View File

@ -48,7 +48,7 @@ This section provides explanations of important AI concepts, and workflow templa
You can browse AI templates, included community contributions, on the n8n website.
[:octicons-arrow-right-24: Browse all AI templates](https://n8n.io/workflows/?categories=25){:target=_blank .external-link}
[:octicons-arrow-right-24: Browse all AI templates](https://n8n.io/workflows/?categories=25)

View File

@ -11,11 +11,11 @@ In AI, 'tools' has a specific meaning. Tools act like addons that your AI can us
Here are a couple of other ways of expressing it:
> Tools are interfaces that an agent can use to interact with the world ([source](https://langchain-ai.github.io/langgraphjs/how-tos/tool-calling/){:target=_blank .external-link})
> Tools are interfaces that an agent can use to interact with the world ([source](https://langchain-ai.github.io/langgraphjs/how-tos/tool-calling/))
<!-- -->
> We can think of these tools as being almost like functions that your AI model can call ([source](https://www.udemy.com/course/chatgpt-and-langchain-the-complete-developers-masterclass/){:target=_blank .external-link})
> We can think of these tools as being almost like functions that your AI model can call ([source](https://www.udemy.com/course/chatgpt-and-langchain-the-complete-developers-masterclass/))
## AI tools in n8n

View File

@ -9,7 +9,7 @@ contentType: explanation
Vector databases store information as numbers:
> A vector database is a type of database that stores data as high-dimensional vectors, which are mathematical representations of features or attributes. ([source](https://learn.microsoft.com/en-us/semantic-kernel/memories/vector-db){:target=_blank .external-link})
> A vector database is a type of database that stores data as high-dimensional vectors, which are mathematical representations of features or attributes. ([source](https://learn.microsoft.com/en-us/semantic-kernel/memories/vector-db))
This enables fast and accurate similarity searches. With a vector database, instead of using conventional database queries, you can search for relevant data based on semantic and contextual meaning.
@ -33,11 +33,11 @@ In practice, vectors are far more complex. A vector can range in size from tens
## Demonstrating the power of similarity search
Qdrant provides [vector search demos](https://qdrant.tech/demo/){:target=_blank .external-link} to help users understand the power of vector databases. The [food discovery demo](https://food-discovery.qdrant.tech/){:target=_blank .external-link} shows how a vector store can help match pictures based on visual similarities.
Qdrant provides [vector search demos](https://qdrant.tech/demo/) to help users understand the power of vector databases. The [food discovery demo](https://food-discovery.qdrant.tech/) shows how a vector store can help match pictures based on visual similarities.
> This demo uses data from Delivery Service. Users may like or dislike the photo of a dish, and the app will recommend more similar meals based on how they look. It's also possible to choose to view results from the restaurants within the delivery radius. ([source](https://qdrant.tech/demo/){:target=_blank .external-link})
> This demo uses data from Delivery Service. Users may like or dislike the photo of a dish, and the app will recommend more similar meals based on how they look. It's also possible to choose to view results from the restaurants within the delivery radius. ([source](https://qdrant.tech/demo/))
For full technical details, refer to the [Qdrant demo-food-discovery GitHub repository](https://github.com/qdrant/demo-food-discovery){:target=_blank .external-link}.
For full technical details, refer to the [Qdrant demo-food-discovery GitHub repository](https://github.com/qdrant/demo-food-discovery).
## Embeddings, retrievers, text splitters, and document loaders

View File

@ -43,7 +43,7 @@ This feature is available on Cloud and self-hosted n8n, in version 1.19.4 and ab
Explore a wide range of AI workflow templates on the n8n website.
[:octicons-arrow-right-24: AI workflows on n8n.io](https://n8n.io/workflows/?categories=25){:target=_blank .external-link}
[:octicons-arrow-right-24: AI workflows on n8n.io](https://n8n.io/workflows/?categories=25)
</div>
@ -59,7 +59,7 @@ This feature uses [Cluster nodes](/integrations/builtin/cluster-nodes/index.md):
### Workflow templates
You can browse [workflow templates](/glossary.md#template-n8n) in-app or on the n8n website [Workflows](https://n8n.io/workflows/?categories=25,26){:target=_blank .external-link} page.
You can browse [workflow templates](/glossary.md#template-n8n) in-app or on the n8n website [Workflows](https://n8n.io/workflows/?categories=25,26) page.
Refer to [Templates](/workflows/templates.md) for information on accessing templates in-app.
@ -69,4 +69,4 @@ Use the [n8n Chat Trigger](/integrations/builtin/core-nodes/n8n-nodes-langchain.
### Chatbot widget
n8n provides a chatbot widget that you can use as a frontend for AI-powered chat workflows. Refer to the [@n8n/chat npm page](https://www.npmjs.com/package/@n8n/chat){:target=_blank .external-link} for usage information.
n8n provides a chatbot widget that you can use as a frontend for AI-powered chat workflows. Refer to the [@n8n/chat npm page](https://www.npmjs.com/package/@n8n/chat) for usage information.

View File

@ -173,5 +173,5 @@ You have taken your first steps in building useful and effective workflows with
Now you have seen how to create a basic AI workflow, there are plenty of resources to build on that knowledge and plenty of examples to give you ideas of where to go next:
* Learn more about AI concepts and view examples in [Examples and concepts](/advanced-ai/examples/introduction.md).
* Browse AI [Workflow templates](https://n8n.io/workflows/?categories=25){:target=_blank .external-link}.
* Browse AI [Workflow templates](https://n8n.io/workflows/?categories=25).
* Find out how to [enhance the AI agent with tools](/advanced-ai/examples/understand-tools.md).

View File

@ -8,10 +8,10 @@ description: External resources to learn more about LangChain and AI.
You don't need to know details about LangChain to use n8n, but it can be helpful to learn a few concepts. This pages lists some learning resources that people at n8n have found helpful.
The [LangChain documentation](https://docs.langchain.com/docs/){:target=_blank .external-link} includes introductions to key concepts and possible use cases. Choose the [LangChain | Python](https://python.langchain.com/docs/get_started/introduction){:target=_blank .external-link} or [LangChain | JavaScript](https://js.langchain.com/docs/get_started/introduction/){:target=_blank .external-link} documentation for quickstarts, code examples, and API documentation. LangChain also provide [code templates](https://github.com/langchain-ai/langchain/tree/master/cookbook){:target=_blank .external-link} (Python only), offering ideas for potential use cases and common patterns.
The [LangChain documentation](https://docs.langchain.com/docs/) includes introductions to key concepts and possible use cases. Choose the [LangChain | Python](https://python.langchain.com/docs/get_started/introduction) or [LangChain | JavaScript](https://js.langchain.com/docs/get_started/introduction/) documentation for quickstarts, code examples, and API documentation. LangChain also provide [code templates](https://github.com/langchain-ai/langchain/tree/master/cookbook) (Python only), offering ideas for potential use cases and common patterns.
[What Product People Need To Know About LangChain](https://www.commandbar.com/blog/langchain-guide){:target=_blank .external-link} provides a list of terminology and concepts, explained with helpful metaphors. Aimed at a wide audience.
[What Product People Need To Know About LangChain](https://www.commandbar.com/blog/langchain-guide) provides a list of terminology and concepts, explained with helpful metaphors. Aimed at a wide audience.
If you prefer video, this [YouTube series by Greg Kamradt](https://youtu.be/_v_fgW2SkkQ?si=8Z2tfAoXnN3lXU9s){:target=_blank .external-link} works through the LangChain documentation, providing code examples as it goes.
If you prefer video, this [YouTube series by Greg Kamradt](https://youtu.be/_v_fgW2SkkQ?si=8Z2tfAoXnN3lXU9s) works through the LangChain documentation, providing code examples as it goes.
n8n offers space to discuss LangChain on the [Discord](https://discord.gg/bAt54txhHg){:target=_blank .external-link}. Join to share your projects and discuss ideas with the community.
n8n offers space to discuss LangChain on the [Discord](https://discord.gg/bAt54txhHg). Join to share your projects and discuss ideas with the community.

View File

@ -13,7 +13,7 @@ This page includes lists of the LangChain-focused nodes in n8n. You can use any
/// note | n8n implements LangChain JS
This feature is n8n's implementation of [LangChain's JavaScript framework](https://js.langchain.com/docs/get_started/introduction){:target=_blank .external-link}.
This feature is n8n's implementation of [LangChain's JavaScript framework](https://js.langchain.com/docs/get_started/introduction).
///
## Trigger nodes
@ -39,17 +39,17 @@ Available nodes:
* [Sentiment Analysis](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.sentimentanalysis.md)
* [Text Classifier](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier.md)
Learn more about [chaining in LangChain](https://js.langchain.com/docs/concepts/lcel){:target=_blank .external-link}.
Learn more about [chaining in LangChain](https://js.langchain.com/docs/concepts/lcel).
#### Agents
> An [agent](/glossary.md#ai-agent){ data-preview} has access to a suite of tools, and determines which ones to use depending on the user input. Agents can use multiple tools, and use the output of one tool as the input to the next. [Source](https://github.com/langchain-ai/langchainjs/blob/def3a26c054575e1ed40b9062087e8c0a8899633/docs/core_docs/docs/modules/agents/index.mdx){:target=_blank .external-link}
> An [agent](/glossary.md#ai-agent){ data-preview} has access to a suite of tools, and determines which ones to use depending on the user input. Agents can use multiple tools, and use the output of one tool as the input to the next. [Source](https://github.com/langchain-ai/langchainjs/blob/def3a26c054575e1ed40b9062087e8c0a8899633/docs/core_docs/docs/modules/agents/index.mdx)
Available nodes:
* [Agent](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/index.md)
Learn more about [Agents in LangChain](https://js.langchain.com/docs/concepts/agents){:target=_blank .external-link}.
Learn more about [Agents in LangChain](https://js.langchain.com/docs/concepts/agents).
#### Vector stores
@ -62,7 +62,7 @@ Learn more about [Agents in LangChain](https://js.langchain.com/docs/concepts/ag
* [Supabase Vector Store](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoresupabase.md)
* [Zep Vector Store](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorezep.md)
Learn more about [Vector stores in LangChain](https://js.langchain.com/docs/concepts/vectorstores/){:target=_blank .external-link}.
Learn more about [Vector stores in LangChain](https://js.langchain.com/docs/concepts/vectorstores/).
#### Miscellaneous
@ -83,7 +83,7 @@ Available nodes:
* [Default Document Loader](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader.md)
* [GitHub Document Loader](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentgithubloader.md)
Learn more about [Document loaders in LangChain](https://js.langchain.com/docs/concepts/document_loaders){:target=_blank .external-link}.
Learn more about [Document loaders in LangChain](https://js.langchain.com/docs/concepts/document_loaders).
#### Language models
@ -100,7 +100,7 @@ Available nodes:
* [Ollama Model](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmollama/index.md)
* [OpenAI Chat Model](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/index.md)
Learn more about [Language models in LangChain](https://js.langchain.com/docs/concepts/chat_models){:target=_blank .external-link}.
Learn more about [Language models in LangChain](https://js.langchain.com/docs/concepts/chat_models).
#### Memory
@ -115,7 +115,7 @@ Available nodes:
* [Xata](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memoryxata.md)
* [Zep](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memoryzep.md)
Learn more about [Memory in LangChain](https://langchain-ai.github.io/langgraphjs/concepts/memory/){:target=_blank .external-link}.
Learn more about [Memory in LangChain](https://langchain-ai.github.io/langgraphjs/concepts/memory/).
#### Output parsers
@ -127,7 +127,7 @@ Available nodes:
* [Item List Output Parser](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparseritemlist.md)
* [Structured Output Parser](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/index.md)
Learn more about [Output parsers in LangChain](https://js.langchain.com/docs/concepts/output_parsers/){:target=_blank .external-link}.
Learn more about [Output parsers in LangChain](https://js.langchain.com/docs/concepts/output_parsers/).
#### Retrievers
@ -148,7 +148,7 @@ Available nodes:
* [Recursive Character Text Splitter](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.textsplitterrecursivecharactertextsplitter.md)
* [Token Splitter](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.textsplittertokensplitter.md)
n8n's text splitter nodes implements parts of [LangChain's text_splitter API](https://js.langchain.com/docs/concepts/text_splitters/){:target=_blank .external-link}.
n8n's text splitter nodes implements parts of [LangChain's text_splitter API](https://js.langchain.com/docs/concepts/text_splitters/).
#### Tools
@ -165,7 +165,7 @@ Utility [tools](/glossary.md#ai-tool).
#### Embeddings
> [Embeddings](/glossary.md#ai-embedding) capture the "relatedness" of text, images, video, or other types of information. ([source](https://supabase.com/docs/guides/ai/concepts){:target=_blank .external-link})
> [Embeddings](/glossary.md#ai-embedding) capture the "relatedness" of text, images, video, or other types of information. ([source](https://supabase.com/docs/guides/ai/concepts))
Available nodes:
@ -178,7 +178,7 @@ Available nodes:
* [Embeddings Ollama](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsollama.md)
* [Embeddings OpenAI](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai.md)
Learn more about [Text embeddings in LangChain](https://js.langchain.com/docs/concepts/embedding_models/){:target=_blank .external-link}.
Learn more about [Text embeddings in LangChain](https://js.langchain.com/docs/concepts/embedding_models/).
#### Miscellaneous

View File

@ -7,7 +7,7 @@ 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.
[LangSmith](https://www.langchain.com/langsmith) 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.
@ -15,7 +15,7 @@ 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. [Log in to LangSmith](https://smith.langchain.com/settings) and get your API key.
1. Set the LangSmith environment variables:
| Variable | Value |
@ -28,4 +28,4 @@ Self-hosted n8n only.
1. Restart n8n.
For information on using LangSmith, refer to [LangSmith's documentation](https://docs.smith.langchain.com/){:target=_blank .external-link}.
For information on using LangSmith, refer to [LangSmith's documentation](https://docs.smith.langchain.com/).

View File

@ -26,10 +26,10 @@ n8n provides an [n8n API node](/integrations/builtin/core-nodes/n8n-nodes-base.n
The API documentation assumes you are familiar with REST APIs. If you're not, these resources may be helpful:
* [KnowledgeOwl's guide to working with APIs](https://support.knowledgeowl.com/help/working-with-apis){:target=_blank .external-link}: a basic introduction, including examples of how to call REST APIs.
* [IBM Cloud Learn Hub - What is an Application Programming Interface (API)](https://www.ibm.com/cloud/learn/api){:target=_blank .external-link}: this gives a general, but technical, introduction to APIs.
* [IBM Cloud Learn Hub - What is a REST API?](https://www.ibm.com/cloud/learn/rest-apis){:target=_blank .external-link}: more detailed information about REST APIs.
* [MDN web docs - An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview){:target=_blank .external-link}: REST APIs work over HTTP and use HTTP verbs, or methods, to specify the action to perform.
* [KnowledgeOwl's guide to working with APIs](https://support.knowledgeowl.com/help/working-with-apis): a basic introduction, including examples of how to call REST APIs.
* [IBM Cloud Learn Hub - What is an Application Programming Interface (API)](https://www.ibm.com/cloud/learn/api): this gives a general, but technical, introduction to APIs.
* [IBM Cloud Learn Hub - What is a REST API?](https://www.ibm.com/cloud/learn/rest-apis): more detailed information about REST APIs.
* [MDN web docs - An overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview): REST APIs work over HTTP and use HTTP verbs, or methods, to specify the action to perform.
/// tip | Use the API playground (self-hosted n8n only)
Trying out the API in the [playground](/api/using-api-playground.md) can help you understand how APIs work. If you're worried about changing live data, consider setting up a test workflow, or test n8n instance, to explore safely.

View File

@ -17,7 +17,7 @@ There are different ways to set up n8n depending on how you intend to use it:
* [npm](/hosting/installation/npm.md)
* [Docker](/hosting/installation/docker.md)
* [Server setup guides](/hosting/installation/server-setups/index.md) for popular platforms
* [Embed](/embed/index.md): n8n Embed allows you to white label n8n and build it into your own product. Contact n8n on the [Embed website](https://n8n.io/embed/){:target=_blank .external-link} for pricing and support.
* [Embed](/embed/index.md): n8n Embed allows you to white label n8n and build it into your own product. Contact n8n on the [Embed website](https://n8n.io/embed/) for pricing and support.
--8<-- "_snippets/self-hosting/warning.md"
@ -42,5 +42,5 @@ n8n has two paid versions:
* n8n Cloud: choose from a range of paid plans to suit your usage and feature needs.
* Self-hosted: there are both free and paid versions of self-hosted.
For details of the Cloud plans and contact details for Enterprise Self-hosted, refer to [Pricing](https://n8n.io/pricing/){:target=_blank .external-link} on the n8n website.
For details of the Cloud plans and contact details for Enterprise Self-hosted, refer to [Pricing](https://n8n.io/pricing/) on the n8n website.

View File

@ -184,7 +184,7 @@ return newItems;
### Related resources
Pluralsight offer a short guide on [How to use ChatGPT to write code](https://www.pluralsight.com/blog/software-development/how-use-chatgpt-programming-coding){:target=_blank .external-link}, which includes example prompts.
Pluralsight offer a short guide on [How to use ChatGPT to write code](https://www.pluralsight.com/blog/software-development/how-use-chatgpt-programming-coding), which includes example prompts.

View File

@ -79,4 +79,4 @@ The Code node does this using the following code:
return _input.all();
```
You can view and download the example workflow from [n8n website | itemMatchin usage example ](https://n8n.io/workflows/1966-itemmatching-usage-example/){:target=_blank .external-link}.
You can view and download the example workflow from [n8n website | itemMatchin usage example ](https://n8n.io/workflows/1966-itemmatching-usage-example/).

View File

@ -8,11 +8,11 @@ contentType: howto
You can use `console.log()` or `print()` in the Code node to help when writing and debugging your code.
For help opening your browser console, refer to [this guide by Balsamiq](https://balsamiq.com/support/faqs/browserconsole/){:target=_blank .external-link}.
For help opening your browser console, refer to [this guide by Balsamiq](https://balsamiq.com/support/faqs/browserconsole/).
## console.log (JavaScript)
For technical information on `console.log()`, refer to the [MDN developer docs](https://developer.mozilla.org/en-US/docs/Web/API/Console/log){:target=_blank .external-link}.
For technical information on `console.log()`, refer to the [MDN developer docs](https://developer.mozilla.org/en-US/docs/Web/API/Console/log).
For example, copy the following code into a Code node, then open your console and run the node:
@ -23,7 +23,7 @@ console.log(a);
## print (Python)
For technical information on `print()`, refer to the [Real Python's guide](https://realpython.com/python-print/){:target=_blank .external-link}.
For technical information on `print()`, refer to the [Real Python's guide](https://realpython.com/python-print/).
For example, set your Code node **Language** to **Python**, copy the following code into the node, then open your console and run the node:
@ -55,7 +55,7 @@ for item in previousNodeData:
print(itemDict)
```
Refer to the Pyodide documentation on [JsProxy](https://pyodide.org/en/stable/usage/api/python-api/ffi.html#pyodide.ffi.JsProxy){:target=_blank .external-link} for more information on this class.
Refer to the Pyodide documentation on [JsProxy](https://pyodide.org/en/stable/usage/api/python-api/ffi.html#pyodide.ffi.JsProxy) for more information on this class.

View File

@ -7,7 +7,7 @@ contentType: howto
# Query JSON with JMESPath
[JMESPath](https://jmespath.org/){:target=_blank .external-link} is a query language for JSON that you can use to extract and transform elements from a JSON document. For full details of how to use JMESPath, refer to the [JMESPath documentation](https://jmespath.org/tutorial.html){:target=_blank .external-link}.
[JMESPath](https://jmespath.org/) is a query language for JSON that you can use to extract and transform elements from a JSON document. For full details of how to use JMESPath, refer to the [JMESPath documentation](https://jmespath.org/tutorial.html).
## The `jmespath()` method
@ -38,21 +38,21 @@ jmespath.search(object, searchString);
The longer code example doesn't work in Expressions, as they must be single-line.
///
`object` is a JSON object, such as the output of a previous node. `searchString` is an expression written in the JMESPath query language. The [JMESPath Specification](https://jmespath.org/specification.html#jmespath-specification){:target=_blank .external-link} provides a list of supported expressions, while their [Tutorial](https://jmespath.org/tutorial.html) and [Examples](https://jmespath.org/examples.html){:target=_blank .external-link} provide interactive examples.
`object` is a JSON object, such as the output of a previous node. `searchString` is an expression written in the JMESPath query language. The [JMESPath Specification](https://jmespath.org/specification.html#jmespath-specification) provides a list of supported expressions, while their [Tutorial](https://jmespath.org/tutorial.html) and [Examples](https://jmespath.org/examples.html) provide interactive examples.
/// warning | Search parameter order
The examples in the [JMESPath Specification](https://jmespath.org/specification.html#jmespath-specification){:target=_blank .external-link} follow the pattern `search(searchString, object)`. The [JMESPath JavaScript library](https://github.com/jmespath/jmespath.js/){:target=_blank .external-link}, which n8n uses, supports `search(object, searchString)` instead. This means that when using examples from the JMESPath documentation, you may need to change the order of the search function parameters.
The examples in the [JMESPath Specification](https://jmespath.org/specification.html#jmespath-specification) follow the pattern `search(searchString, object)`. The [JMESPath JavaScript library](https://github.com/jmespath/jmespath.js/), which n8n uses, supports `search(object, searchString)` instead. This means that when using examples from the JMESPath documentation, you may need to change the order of the search function parameters.
///
## Common tasks
This section provides examples for some common operations. More examples, and detailed guidance, are available in [JMESPath's own documentation](https://jmespath.org/tutorial.html){:target=_blank .external-link}.
This section provides examples for some common operations. More examples, and detailed guidance, are available in [JMESPath's own documentation](https://jmespath.org/tutorial.html).
When trying out these examples, you need to set the Code node **Mode** to **Run Once for Each Item**.
### Apply a JMESPath expression to a collection of elements with projections
From the [JMESPath projections documentation](https://jmespath.org/tutorial.html#projections){:target=_blank .external-link}:
From the [JMESPath projections documentation](https://jmespath.org/tutorial.html#projections):
> Projections are one of the key features of JMESPath. Use it to apply an expression to a collection of elements. JMESPath supports five kinds of projections:
>
@ -62,7 +62,7 @@ From the [JMESPath projections documentation](https://jmespath.org/tutorial.html
> * Flatten Projections
> * Filter Projections
The following example shows basic usage of list, slice, and object projections. Refer to the [JMESPath projections documentation](https://jmespath.org/tutorial.html#projections){:target=_blank .external-link} for detailed explanations of each projection type, and more examples.
The following example shows basic usage of list, slice, and object projections. Refer to the [JMESPath projections documentation](https://jmespath.org/tutorial.html#projections) for detailed explanations of each projection type, and more examples.
Given this JSON from a webhook node:
@ -108,7 +108,7 @@ Given this JSON from a webhook node:
```
Retrieve a [list](https://jmespath.org/tutorial.html#list-and-slice-projections){:target=_blank .external-link} of all the people's first names:
Retrieve a [list](https://jmespath.org/tutorial.html#list-and-slice-projections) of all the people's first names:
=== "Expressions (JavaScript)"
@ -152,7 +152,7 @@ Retrieve a [list](https://jmespath.org/tutorial.html#list-and-slice-projections)
"""
```
Get a [slice](https://jmespath.org/tutorial.html#list-and-slice-projections){:target=_blank .external-link} of the first names:
Get a [slice](https://jmespath.org/tutorial.html#list-and-slice-projections) of the first names:
=== "Expressions (JavaScript)"
@ -194,7 +194,7 @@ Get a [slice](https://jmespath.org/tutorial.html#list-and-slice-projections){:ta
"""
```
Get a list of the dogs' ages using [object projections](https://jmespath.org/tutorial.html#object-projections){:target=_blank .external-link}:
Get a list of the dogs' ages using [object projections](https://jmespath.org/tutorial.html#object-projections):
=== "Expressions (JavaScript)"
@ -237,7 +237,7 @@ Get a list of the dogs' ages using [object projections](https://jmespath.org/tut
### Select multiple elements and create a new list or object
Use [Multiselect](https://jmespath.org/tutorial.html#multiselect){:target=_blank .external-link} to select elements from a JSON object and combine them into a new list or object.
Use [Multiselect](https://jmespath.org/tutorial.html#multiselect) to select elements from a JSON object and combine them into a new list or object.
Given this JSON from a webhook node:

View File

@ -7,7 +7,7 @@ contentType: howto
# Date and time with Luxon
[Luxon](https://github.com/moment/luxon/){:target=_blank .external-link} is a JavaScript library that makes it easier to work with date and time. For full details of how to use Luxon, refer to [Luxon's documentation](https://moment.github.io/luxon/#/?id=luxon){:target=_blank .external-link}.
[Luxon](https://github.com/moment/luxon/) is a JavaScript library that makes it easier to work with date and time. For full details of how to use Luxon, refer to [Luxon's documentation](https://moment.github.io/luxon/#/?id=luxon).
n8n passes dates between nodes as strings, so you need to parse them. Luxon makes this easier.
@ -230,7 +230,7 @@ For example, get the number of months between two dates:
This returns `{"months":1}`.
Refer to Luxon's [Diffs](https://moment.github.io/luxon/#/math?id=diffs){:target=_blank .external-link} for more information.
Refer to Luxon's [Diffs](https://moment.github.io/luxon/#/math?id=diffs) for more information.
### A longer example: How many days to Christmas?

View File

@ -13,12 +13,12 @@ Expressions are a powerful feature implemented in all n8n nodes. They allow node
You can also execute JavaScript within an expression, making this a convenient and easy way to manipulate data into useful parameter values without writing extensive extra code.
n8n created and uses a templating language called [Tournament](https://github.com/n8n-io/tournament){:target=_blank .external-link}, and extends it with [custom methods and variables](/code/builtin/overview.md) and [data transformation functions](/code/builtin/data-transformation-functions/index.md). These features make it easier to perform common tasks like getting data from other nodes or accessing workflow metadata.
n8n created and uses a templating language called [Tournament](https://github.com/n8n-io/tournament), and extends it with [custom methods and variables](/code/builtin/overview.md) and [data transformation functions](/code/builtin/data-transformation-functions/index.md). These features make it easier to perform common tasks like getting data from other nodes or accessing workflow metadata.
n8n additionally supports two libraries:
- [Luxon](https://github.com/moment/luxon/){:target=_blank .external-link}, for working with dates and time.
- [JMESPath](https://jmespath.org/){:target=_blank .external-link}, for querying JSON.
- [Luxon](https://github.com/moment/luxon/), for working with dates and time.
- [JMESPath](https://jmespath.org/), for querying JSON.
/// note | Data in n8n
When writing expressions, it's helpful to understand data structure and behavior in n8n. Refer to [Data](/data/index.md) for more information on working with data in your workflows.

View File

@ -44,7 +44,7 @@ n8n provides core nodes, which simplify adding key functionality such as API req
The [HTTP Request](/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/index.md), [Webhook](/integrations/builtin/core-nodes/n8n-nodes-base.webhook/index.md), and [Code](/code/code-node.md) nodes help you make API calls, respond to webhooks, and write any JavaScript in your workflow.
Use this do things like [Create an API endpoint](https://n8n.io/workflows/1750-creating-an-api-endpoint/){:target=_blank .external-link}.
Use this do things like [Create an API endpoint](https://n8n.io/workflows/1750-creating-an-api-endpoint/).
[:octicons-arrow-right-24: Core nodes](/integrations/builtin/core-nodes/index.md)
@ -74,7 +74,7 @@ n8n provides core nodes, which simplify adding key functionality such as API req
- __Build your own nodes__
You can build custom nodes, install them on your n8n instance, and publish them to [npm](https://www.npmjs.com/){:target=_blank .external-link}.
You can build custom nodes, install them on your n8n instance, and publish them to [npm](https://www.npmjs.com/).
[:octicons-arrow-right-24: Creating nodes](/integrations/creating-nodes/overview.md)

View File

@ -9,7 +9,7 @@ contentType: overview
n8n Embed is part of n8n's paid offering. Using Embed, you can white label n8n, or incorporate it in your software as part of your commercial product.
For more information about when to use Embed, as well as costs and licensing processes, refer to [Embed](https://n8n.io/embed/){:target=_blank .external-link} on the n8n website.
For more information about when to use Embed, as well as costs and licensing processes, refer to [Embed](https://n8n.io/embed/) on the n8n website.
## Support
@ -17,4 +17,4 @@ The [community forum](https://community.n8n.io/) can help with various issues. I
## Russia and Belarus
n8n Embed isn't available in Russia and Belarus. Refer to n8n's blog post [Update on n8n cloud accounts in Russia and Belarus](https://blog.n8n.io/update-on-n8n-cloud-accounts-in-russia-and-belarus/){:target=_blank .external-link} for more information.
n8n Embed isn't available in Russia and Belarus. Refer to n8n's blog post [Update on n8n cloud accounts in Russia and Belarus](https://blog.n8n.io/update-on-n8n-cloud-accounts-in-russia-and-belarus/) for more information.

View File

@ -7,10 +7,10 @@ contentType: howto
--8<-- "_snippets/embed-license.md"
White labelling n8n means customizing the frontend styling and assets to match your brand identity. The process involves changing two packages in n8n's source code [github.com/n8n-io/n8n](https://github.com/n8n-io/n8n){:target=_blank .external-link}:
White labelling n8n means customizing the frontend styling and assets to match your brand identity. The process involves changing two packages in n8n's source code [github.com/n8n-io/n8n](https://github.com/n8n-io/n8n):
* [packages/design-system](https://github.com/n8n-io/n8n/tree/master/packages/design-system){:target=_blank .external-link}: n8n's [storybook](https://storybook.js.org/){:target=_blank .external-link} design system with CSS styles and Vue.js components
* [packages/editor-ui](https://github.com/n8n-io/n8n/tree/master/packages/editor-ui){:target=_blank .external-link}: n8n's [Vue.js](https://vuejs.org/){:target=_blank .external-link} frontend build with [Vite.js](https://vitejs.dev){:target=_blank .external-link}
* [packages/design-system](https://github.com/n8n-io/n8n/tree/master/packages/design-system): n8n's [storybook](https://storybook.js.org/) design system with CSS styles and Vue.js components
* [packages/editor-ui](https://github.com/n8n-io/n8n/tree/master/packages/editor-ui): n8n's [Vue.js](https://vuejs.org/) frontend build with [Vite.js](https://vitejs.dev)
## Prerequisites
@ -18,7 +18,7 @@ You need the following installed on your development machine:
--8<-- "_snippets/integrations/creating-nodes/prerequisites.md"
Create a fork of [n8n's repository](https://github.com/n8n-io/n8n){:target=_blank .external-link} and clone your new repository.
Create a fork of [n8n's repository](https://github.com/n8n-io/n8n) and clone your new repository.
```shell
git clone https://github.com/<your-organization>/n8n.git n8n
@ -37,10 +37,10 @@ Whenever you make changes you need to rebuild and restart n8n. While developing
## Theme colors
To customize theme colors open [packages/design-system](https://github.com/n8n-io/n8n/tree/master/packages/design-system){:target=_blank .external-link} and start with:
To customize theme colors open [packages/design-system](https://github.com/n8n-io/n8n/tree/master/packages/design-system) and start with:
- [packages/design-system/src/css/_tokens.scss](https://github.com/n8n-io/n8n/blob/master/packages/design-system/src/css/_tokens.scss){:target=_blank .external-link}
- [packages/design-system/src/css/_tokens.dark.scss](https://github.com/n8n-io/n8n/blob/master/packages/design-system/src/css/_tokens.dark.scss){:target=_blank .external-link}
- [packages/design-system/src/css/_tokens.scss](https://github.com/n8n-io/n8n/blob/master/packages/design-system/src/css/_tokens.scss)
- [packages/design-system/src/css/_tokens.dark.scss](https://github.com/n8n-io/n8n/blob/master/packages/design-system/src/css/_tokens.dark.scss)
At the top of `_tokens.scss` you will find `--color-primary` variables as HSL colors:
@ -51,7 +51,7 @@ At the top of `_tokens.scss` you will find `--color-primary` variables as HSL co
--color-primary-l: 67.6%;
```
In the following example the primary color changes to <span style="color:#0099ff">#0099ff</span>. To convert to HSL you can use a [color converter tool](https://www.w3schools.com/colors/colors_converter.asp){:target=_blank .external-link}.
In the following example the primary color changes to <span style="color:#0099ff">#0099ff</span>. To convert to HSL you can use a [color converter tool](https://www.w3schools.com/colors/colors_converter.asp).
```scss
@mixin theme {
@ -65,7 +65,7 @@ In the following example the primary color changes to <span style="color:#0099ff
## Theme logos
To change the editors logo assets look into [packages/editor-ui/public](https://github.com/n8n-io/n8n/tree/master/packages/editor-ui/public){:target=_blank .external-link} and replace:
To change the editors logo assets look into [packages/editor-ui/public](https://github.com/n8n-io/n8n/tree/master/packages/editor-ui/public) and replace:
- favicon-16x16.png
- favicon-32x32.png
@ -76,14 +76,14 @@ To change the editors logo assets look into [packages/editor-ui/public](https
Replace these logo assets. n8n uses them in Vue.js components, including:
* [MainSidebar.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/MainSidebar.vue){:target=_blank .external-link}: top/left logo in the main sidebar.
* [MainSidebar.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/MainSidebar.vue): top/left logo in the main sidebar.
* [Logo.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/Logo.vue): reused in other components.
In the following example replace `n8n-logo-collapsed.svg` and `n8n-logo-expanded.svg` to update the main sidebar's logo assets.
![Example Logo Main Sidebar](/_images/embed/white-label/logo-main-sidebar.png)
If your logo assets require different sizing or placement you can customize SCSS styles at the bottom of [MainSidebar.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/MainSidebar.vue){:target=_blank .external-link}.
If your logo assets require different sizing or placement you can customize SCSS styles at the bottom of [MainSidebar.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/MainSidebar.vue).
```scss
.logoItem {
@ -112,11 +112,11 @@ If your logo assets require different sizing or placement you can customize SCSS
## Text localization
To change all text occurrences like `n8n` or `n8n.io` to your brand identity you can customize n8n's English internationalization file: [packages/editor-ui/src/plugins/i18n/locales/en.json](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/plugins/i18n/locales/en.json){:target=_blank .external-link}.
To change all text occurrences like `n8n` or `n8n.io` to your brand identity you can customize n8n's English internationalization file: [packages/editor-ui/src/plugins/i18n/locales/en.json](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/plugins/i18n/locales/en.json).
n8n uses the [Vue I18n](https://kazupon.github.io/vue-i18n/){:target=_blank .external-link} internationalization plugin for Vue.js to translate the majority of UI texts. To search and replace text occurrences inside `en.json` you can use [Linked locale messages](https://kazupon.github.io/vue-i18n/guide/messages.html#linked-locale-messages){:target=_blank .external-link}.
n8n uses the [Vue I18n](https://kazupon.github.io/vue-i18n/) internationalization plugin for Vue.js to translate the majority of UI texts. To search and replace text occurrences inside `en.json` you can use [Linked locale messages](https://kazupon.github.io/vue-i18n/guide/messages.html#linked-locale-messages).
In the following example add the `_brand.name` translation key to white label n8n's [AboutModal.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/AboutModal.vue){:target=_blank .external-link}.
In the following example add the `_brand.name` translation key to white label n8n's [AboutModal.vue](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/AboutModal.vue).
```js
{
@ -133,8 +133,8 @@ In the following example add the `_brand.name` translation key to white label n8
To change n8n's window title to your brand name, edit the following:
- [packages/editor-ui/index.html](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/index.html){:target=_blank .external-link}
- [packages/editor-ui/src/components/mixins/titleChange.ts](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/mixins/titleChange.ts){:target=_blank .external-link}
- [packages/editor-ui/index.html](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/index.html)
- [packages/editor-ui/src/components/mixins/titleChange.ts](https://github.com/n8n-io/n8n/blob/master/packages/editor-ui/src/components/mixins/titleChange.ts)
The following example replaces all occurrences of `n8n` and `n8n.io` with `My Brand` in `index.html` and `titleChange.ts`.

View File

@ -10,7 +10,7 @@ contentType: howto
/// info | Feature availability
* External secrets are available on Enterprise Self-hosted and Enterprise Cloud plans.
* n8n supports AWS Secrets Manager, Azure Key Vault, GCP 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}.
* n8n doesn't support [HashiCorp Vault Secrets](https://developer.hashicorp.com/hcp/docs/vault-secrets).
///
You can use an external secrets store to manage [credentials](/glossary.md#credential-n8n) for n8n.
@ -26,7 +26,7 @@ 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:
* Azure Key Vault: Provide your **vault name**, **tenant ID**, **client ID**, and **client secret**. Refer to the Azure documentation to [register a Microsoft Entra ID app and create a service principal](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal){:target=_blank .external-link}. n8n supports only single-line values for secrets.
* Azure Key Vault: Provide your **vault name**, **tenant ID**, **client ID**, and **client secret**. Refer to the Azure documentation to [register a Microsoft Entra ID app and create a service principal](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal). n8n supports only single-line values for secrets.
* AWS Secrets Manager: provide your **access key ID**, **secret access key**, and **region**. The IAM user must have the `secretsmanager:ListSecrets`, `secretsmanager:BatchGetSecretValue`, and `secretsmanager:GetSecretValue` permissions.
To give n8n access to all secrets in your AWS Secrets Manager, you can attach the following policy to the IAM user:
@ -85,26 +85,26 @@ Your secret names can't contain spaces, hyphens, or other special characters. n8
}
```
For more IAM permission policy examples, consult the [AWS documentation](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_iam-policies.html#auth-and-access_examples_batch){:target=_blank .external-link}.
For more IAM permission policy examples, consult the [AWS documentation](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_iam-policies.html#auth-and-access_examples_batch).
* 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}
[AppRole auth method](https://developer.hashicorp.com/vault/docs/auth/approle){:target=_blank .external-link}
[Userpass auth method](https://developer.hashicorp.com/vault/docs/auth/userpass){:target=_blank .external-link}
- If you use vault namespaces, you can enter the namespace n8n should connect to. Refer to [Vault Enterprise namespaces](https://developer.hashicorp.com/vault/docs/enterprise/namespaces){:target=_blank .external-link} for more information on HashiCorp Vault namespaces.
[Token auth method](https://developer.hashicorp.com/vault/docs/auth/token)
[AppRole auth method](https://developer.hashicorp.com/vault/docs/auth/approle)
[Userpass auth method](https://developer.hashicorp.com/vault/docs/auth/userpass)
- If you use vault namespaces, you can enter the namespace n8n should connect to. Refer to [Vault Enterprise namespaces](https://developer.hashicorp.com/vault/docs/enterprise/namespaces) for more information on HashiCorp Vault namespaces.
* Infisical: provide a **Service Token**. Refer to Infisical's [Service token](https://infisical.com/docs/documentation/platform/token){:target=_blank .external-link} documentation for information on getting your token. If you self-host Infisical, enter the **Site URL**.
* Infisical: provide a **Service Token**. Refer to Infisical's [Service token](https://infisical.com/docs/documentation/platform/token) documentation for information on getting your token. If you self-host Infisical, enter the **Site URL**.
/// note | Infisical environment
Make sure you select the correct Infisical environment when creating your token. n8n will load secrets from this environment, and won't have access to secrets in other Infisical environments. n8n only support service tokens that have access to a single environment.
///
/// note | Infisical folders
n8n doesn't support [Infisical folders](https://infisical.com/docs/documentation/platform/folder){:target=_blank .external-link}.
n8n doesn't support [Infisical folders](https://infisical.com/docs/documentation/platform/folder).
///
* Google Cloud Platform: provide a **Service Account Key** (JSON) for a service account that has at least these roles: `Secret Manager Secret Accessor` and `Secret Manager Secret Viewer`. Refer to Google's [service account documentation](https://cloud.google.com/iam/docs/service-account-overview){:target=_blank .external-link} for more information.
* Google Cloud Platform: provide a **Service Account Key** (JSON) for a service account that has at least these roles: `Secret Manager Secret Accessor` and `Secret Manager Secret Viewer`. Refer to Google's [service account documentation](https://cloud.google.com/iam/docs/service-account-overview) for more information.
1. **Save** your configuration.
1. Enable the provider using the **Disabled / Enabled** toggle.

View File

@ -38,7 +38,7 @@ Use the Code node to merge data from multiple node executions. This is useful in
/// note | Node executions and workflow executions
This section describes merging data from multiple node executions. This is when a node executes multiple times during a single workflow execution.
///
Refer to this [example workflow](https://n8n.io/workflows/1814-merge-multiple-runs-into-one/){:target=_blank .external-link} using Loop Over Items and Wait to artificially create multiple executions.
Refer to this [example workflow](https://n8n.io/workflows/1814-merge-multiple-runs-into-one/) using Loop Over Items and Wait to artificially create multiple executions.
[[ workflowDemo("https://api.n8n.io/workflows/templates/1814") ]]
@ -46,6 +46,6 @@ Refer to this [example workflow](https://n8n.io/workflows/1814-merge-multiple-ru
The [Compare Datasets](/integrations/builtin/core-nodes/n8n-nodes-base.comparedatasets.md) node compares data streams before merging them. It outputs up to four different data streams.
Refer to this [example workflow](https://n8n.io/workflows/1943-comparing-data-with-the-compare-datasets-node/){:target=_blank .external-link} for an example.
Refer to this [example workflow](https://n8n.io/workflows/1943-comparing-data-with-the-compare-datasets-node/) for an example.
[[ workflowDemo("https://api.n8n.io/workflows/templates/1943") ]]

View File

@ -11,4 +11,4 @@ Waiting allows you to pause a workflow mid-execution, then resume where the work
Making a workflow wait uses the [Wait](/integrations/builtin/core-nodes/n8n-nodes-base.wait.md) node. Refer to the node documentation for usage details.
n8n provides a workflow template with a basic example of [Rate limiting and waiting for external events](https://n8n.io/workflows/1749-rate-limiting-and-waiting-for-external-events/){:target=_blank .external-link}.
n8n provides a workflow template with a basic example of [Rate limiting and waiting for external events](https://n8n.io/workflows/1749-rate-limiting-and-waiting-for-external-events/).

View File

@ -12,9 +12,9 @@ This page describes the purpose of each table in the n8n database.
By default, n8n uses SQLite as the database. If you are using another database the structure will be similar, but the data-types may be different depending on the database.
n8n uses [TypeORM](https://github.com/typeorm/typeorm){:target=_blank .external-link} for queries and migrations.
n8n uses [TypeORM](https://github.com/typeorm/typeorm) for queries and migrations.
To inspect the n8n database, you can use [DBeaver](https://dbeaver.io){:target=_blank .external-link}, which is an open-source universal database tool.
To inspect the n8n database, you can use [DBeaver](https://dbeaver.io), which is an open-source universal database tool.
## Tables
@ -58,7 +58,7 @@ Details of npm community nodes packages installed in your n8n instance. [install
### migrations
A log of all database migrations. Read more about [Migrations](https://github.com/typeorm/typeorm/blob/master/docs/migrations.md){:target=_blank .external-link} in TypeORM's documentation.
A log of all database migrations. Read more about [Migrations](https://github.com/typeorm/typeorm/blob/master/docs/migrations.md) in TypeORM's documentation.
### project

View File

@ -11,4 +11,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/){:target=_blank .external-link} 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/) and let n8n know which architecture documents would be useful for you.

View File

@ -30,7 +30,7 @@ The community edition doesn't include these features:
These features are available on the Enterprise Cloud plan, including the self-hosted Enterprise edition. Some of these features are available on the Starter and Pro Cloud plan.
See [pricing](https://n8n.io/pricing/){:target=_blank .external-link} for reference.
See [pricing](https://n8n.io/pricing/) for reference.
## Registered Community Edition

View File

@ -81,7 +81,7 @@ You can't always work out the correct JSON from the [Environment variables refer
}
```
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.
Refer to the [Schema file in the source code](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/config/schema.ts) for full details of the expected settings.
///
@ -99,7 +99,7 @@ n8n:
### Keeping sensitive data in separate files
You can append `_FILE` to 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](https://docs.docker.com/engine/swarm/secrets/){:target=_blank .external-link} and [Kubernetes-Secrets](https://kubernetes.io/docs/concepts/configuration/secret/){:target=_blank .external-link}.
You can append `_FILE` to 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](https://docs.docker.com/engine/swarm/secrets/) and [Kubernetes-Secrets](https://kubernetes.io/docs/concepts/configuration/secret/).
Refer to [Environment variables](/hosting/configuration/environment-variables/index.md) for details on each variable.

View File

@ -28,10 +28,10 @@ This page lists environment variables to set up logging for debugging. Refer to
| `N8N_LOG_FILE_SIZE_MAX` | Number | `16` | Max size of each log file in MB. |
| `N8N_LOG_FILE_LOCATION` | String | `<n8n-directory-path>/logs/n8n.log` | 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`. Refer to [TypeORM logging options](https://orkhan.gitbook.io/typeorm/docs/logging#logging-options){:target=_blank .external-link} |
| `DB_LOGGING_OPTIONS` | Enum string: `query`, `error`, `schema`, `warn`, `info`, `log` | `error` | Database log output level. To enable all logging, specify `all`. Refer to [TypeORM logging options](https://orkhan.gitbook.io/typeorm/docs/logging#logging-options) |
| `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. |
| `CODE_ENABLE_STDOUT` | Boolean | `false` | Set to `true` to send Code node logs to process's stdout for debugging, monitoring, or logging purposes. |
| `NO_COLOR` | any | `undefined` | Set to any value to output logs without ANSI colors. For more information, see the [no-color.org website](https://no-color.org/){:target=_blank .external-link}. |
| `NO_COLOR` | any | `undefined` | Set to any value to output logs without ANSI colors. For more information, see the [no-color.org website](https://no-color.org/). |
<!-- vale on -->
## Log streaming

View File

@ -5,7 +5,7 @@ contentType: tutorial
# Docker Installation
[Docker](https://www.docker.com/){:target=_blank .external-link} offers the following advantages:
[Docker](https://www.docker.com/) offers the following advantages:
* Installs n8n in a clean environment.
* Easier setup for your preferred database.
@ -19,7 +19,7 @@ You can also use n8n in Docker with [Docker Compose](/hosting/installation/serve
## Prerequisites
Before proceeding, install [Docker Desktop](https://docs.docker.com/get-docker/){:target=_blank .external-link}.
Before proceeding, install [Docker Desktop](https://docs.docker.com/get-docker/).
/// note | Linux Users
Docker Desktop is available for Mac and Windows. Linux users must install [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/) individually for your distribution.

View File

@ -20,7 +20,7 @@ From the terminal, run:
npx n8n
```
This command will download everything that's needed to start n8n. You can then access n8n and start building workflows by opening [http://localhost:5678](http://localhost:5678){:target=_blank .external-link}.
This command will download everything that's needed to start n8n. You can then access n8n and start building workflows by opening [http://localhost:5678](http://localhost:5678).
## Install globally with npm
@ -88,4 +88,4 @@ If the upgrade involved a database migration:
## Windows troubleshooting
If you are experiencing issues running n8n on Windows, make sure your Node.js environment is correctly set up. Follow Microsoft's guide to [Install NodeJS on Windows](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows){:target=_blank .external-link}.
If you are experiencing issues running n8n on Windows, make sure your Node.js environment is correctly set up. Follow Microsoft's guide to [Install NodeJS on Windows](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).

View File

@ -11,13 +11,13 @@ This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS)
AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes).
This guide uses [EKS](https://aws.amazon.com/eks/){:target=_blank .external-link} as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.
This guide uses [EKS](https://aws.amazon.com/eks/) as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes.
## Prerequisites
The steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io){:target=_blank .external-link}.
The steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io).
While not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html){:target=_blank .external-link}, and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html){:target=_blank .external-link}.
While not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).
--8<-- "_snippets/self-hosting/warning.md"
@ -38,7 +38,7 @@ Once the cluster is created, eksctl automatically sets the kubectl context to th
## Clone configuration repository
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws){:target=_blank .external-link}. The following steps tell you what each file does, and what settings you need to change.
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws). The following steps tell you what each file does, and what settings you need to change.
Clone the repository with the following command:
@ -58,7 +58,7 @@ For larger scale n8n deployments, Postgres provides a more robust database backe
### Configure volume for persistent storage
To maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, [gp2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2){:target=_blank .external-link}, is suitable for this purpose. This is defined in the `postgres-claaim0-persistentvolumeclaim.yaml` manifest.
To maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, [gp2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2), is suitable for this purpose. This is defined in the `postgres-claaim0-persistentvolumeclaim.yaml` manifest.
```yaml
@ -96,7 +96,7 @@ volumes:
### Pod resources
[Kubernetes](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/){:target=_blank .external-link} lets you specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:
[Kubernetes](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) lets you specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file:
```yaml

View File

@ -39,7 +39,7 @@ The remainder of the steps in this guide require you to set the Azure instance a
## Clone configuration repository
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/azure){:target=_blank .external-link}. The following steps tell you which file configures what and what you need to change.
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/azure). The following steps tell you which file configures what and what you need to change.
Clone the repository with the following command:

View File

@ -16,10 +16,10 @@ This hosting guide shows you how to self-host n8n on a DigitalOcean droplet. It
## Create a Droplet
1. [Log in](https://cloud.digitalocean.com/login){:target=_blank .external-link} to DigitalOcean.
2. Select the project to host the Droplet, or [create a new project](https://docs.digitalocean.com/products/projects/how-to/create/){:target=_blank .external-link}.
1. [Log in](https://cloud.digitalocean.com/login) to DigitalOcean.
2. Select the project to host the Droplet, or [create a new project](https://docs.digitalocean.com/products/projects/how-to/create/).
3. In your project, select **Droplets** from the **Manage** menu.
4. [Create a new Droplet](https://docs.digitalocean.com/products/droplets/how-to/create/){:target=_blank .external-link} using the [Docker image](https://marketplace.digitalocean.com/apps/docker){:target="_blank" .external-link} available on the **Marketplace** tab.
4. [Create a new Droplet](https://docs.digitalocean.com/products/droplets/how-to/create/) using the [Docker image](https://marketplace.digitalocean.com/apps/docker){:target="_blank" .external-link} available on the **Marketplace** tab.
/// note | Droplet resources
When creating the Droplet, DigitalOcean asks you to choose a plan. For most usage levels, a basic shared CPU plan is enough.
@ -44,13 +44,13 @@ You should create a new user, to avoid working as the root user:
usermod -aG sudo <username>
```
You can now run commands with superuser privileges by using `sudo` before the command.
5. Follow the steps to set up SSH for the new user: [Add Public Key Authentication](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04#step-four-add-public-key-authentication-recommended){:target=_blank .external-link}.
5. Follow the steps to set up SSH for the new user: [Add Public Key Authentication](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04#step-four-add-public-key-authentication-recommended).
5. Log out of the droplet.
6. Log in using SSH as the new user.
## Clone configuration repository
Docker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy){:target=_blank .external-link} into the home folder of the logged-in user on your Droplet. The following steps will tell you which file to change and what changes to make.
Docker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the home folder of the logged-in user on your Droplet. The following steps will tell you which file to change and what changes to make.
Clone the repository with the following command:

View File

@ -36,7 +36,7 @@ Select **ENABLE** to enable the Kubernetes Engine API for this project.
## Create a cluster
From the [GKE service page](https://console.cloud.google.com/kubernetes/list/overview){:target=_blank .external-link}, select **Clusters** > **CREATE**. Make sure you select the "Standard" cluster option, n8n doesn't work with an "Autopilot" cluster. You can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.
From the [GKE service page](https://console.cloud.google.com/kubernetes/list/overview), select **Clusters** > **CREATE**. Make sure you select the "Standard" cluster option, n8n doesn't work with an "Autopilot" cluster. You can leave the cluster configuration on defaults unless there's anything specifically you need to change, such as location.
## Set Kubectl context
@ -44,7 +44,7 @@ The rest of the steps in this guide require you to set the GCP instance as the K
## Clone configuration repository
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp){:target=_blank .external-link} locally. The following steps explain the file configuration and how to add your information.
Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp) locally. The following steps explain the file configuration and how to add your information.
Clone the repository with the following command:

View File

@ -45,7 +45,7 @@ Refer to the [Heroku documentation](https://devcenter.heroku.com/categories/netw
///
## Changing the deployment template
You can make changes to the deployment template by forking the [repository](https://github.com/n8n-io/n8n-heroku){:target=_blank .external-link} and deploying from you fork.
You can make changes to the deployment template by forking the [repository](https://github.com/n8n-io/n8n-heroku) and deploying from you fork.
### The Dockerfile

View File

@ -16,7 +16,7 @@ This hosting guide shows you how to self-host n8n on a Hetzner cloud server. It
## Create a server
1. [Log in](https://console.hetzner.cloud/){:target=_blank .external-link} to the Hetzner Cloud Console.
1. [Log in](https://console.hetzner.cloud/) to the Hetzner Cloud Console.
2. Select the project to host the server, or create a new project by selecting **+ NEW PROJECT**.
3. Select **+ CREATE SERVER** on the project tile you want to add it to.
@ -43,7 +43,7 @@ apt install docker-compose-plugin
## Clone configuration repository
Docker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy){:target=_blank .external-link} into the root user folder of the server. The following steps will tell you which file to change and what changes to make.
Docker Compose, n8n, and Caddy require a series of folders and configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-docker-caddy) into the root user folder of the server. The following steps will tell you which file to change and what changes to make.
Clone the repository with the following command:

View File

@ -5,7 +5,7 @@ contentType: howto
# Logging in n8n
Logging is an important feature for debugging. n8n uses the [winston](https://www.npmjs.com/package/winston){:target=_blank .external-link} logging library.
Logging is an important feature for debugging. n8n uses the [winston](https://www.npmjs.com/package/winston) logging library.
/// note | Log streaming
n8n Self-hosted Enterprise tier includes [Log streaming](/log-streaming.md), in addition to the logging options described in this document.

View File

@ -94,7 +94,7 @@ 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/configuration/environment-variables/database.md#sqlite) or manually run the [VACUUM](https://www.sqlite.org/lang_vacuum.html){:target=_blank .external-link} operation.
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.md#sqlite) or manually run the [VACUUM](https://www.sqlite.org/lang_vacuum.html) operation.
///
--8<-- "_snippets/self-hosting/scaling/binary-data-pruning.md"

View File

@ -16,7 +16,7 @@ search:
/// info | Feature availability
* Available on Self-hosted Enterprise plans
* If you want access to this feature on Cloud Enterprise, [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa){:target=_blank .external-link}.
* If you want access to this feature on Cloud Enterprise, [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa).
///
n8n can store binary data produced by workflow executions externally. This feature is useful to avoid relying on the filesystem for storing large amounts of binary data.
@ -25,7 +25,7 @@ n8n will introduce external storage for other data types in the future.
## Storing n8n's binary data in S3
n8n supports [AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html){:target=_blank .external-link} as an external store for binary data produced by workflow executions. You can use other S3-compatible services like Cloudflare R2 and Backblaze B2, but n8n doesn't officially support these.
n8n supports [AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) as an external store for binary data produced by workflow executions. You can use other S3-compatible services like Cloudflare R2 and Backblaze B2, but n8n doesn't officially support these.
/// info | Enterprise-tier feature
You will need an [Enterprise license key](/license-key.md) for external storage. If your license key expires and you remain on S3 mode, the instance will be able to read from, but not write to, the S3 bucket.
@ -33,7 +33,7 @@ You will need an [Enterprise license key](/license-key.md) for external storage.
### Setup
Create and configure a bucket following the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html){:target=_blank .external-link}. You can use the following policy, replacing `<bucket-name>` with the name of the bucket you created:
Create and configure a bucket following the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). You can use the following policy, replacing `<bucket-name>` with the name of the bucket you created:
```json
{

View File

@ -50,4 +50,4 @@ This approach is more complex and means re-building the workflows causing the is
### Increase old memory
This applies to self-hosting n8n. When encountering **JavaScript heap out of memory** errors, it's often useful to allocate additional memory to the old memory section of the V8 JavaScript engine. To do this, set the appropriate [V8 option](https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes){:target=_blank .external-link} `--max-old-space-size=SIZE` either through the CLI or through the `NODE_OPTIONS` [environment variable](https://nodejs.org/api/cli.html#node_optionsoptions){:target=_blank .external-link}.
This applies to self-hosting n8n. When encountering **JavaScript heap out of memory** errors, it's often useful to allocate additional memory to the old memory section of the V8 JavaScript engine. To do this, set the appropriate [V8 option](https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes) `--max-old-space-size=SIZE` either through the CLI or through the `NODE_OPTIONS` [environment variable](https://nodejs.org/api/cli.html#node_optionsoptions).

View File

@ -21,7 +21,7 @@ The performance of n8n depends on factors including:
## Run your own benchmarking
To get an accurate estimate for your use case, run n8n's [benchmarking framework](https://github.com/n8n-io/n8n/tree/master/packages/%40n8n/benchmark){:target=_blank .external-link}. The repository contains more information about the benchmarking.
To get an accurate estimate for your use case, run n8n's [benchmarking framework](https://github.com/n8n-io/n8n/tree/master/packages/%40n8n/benchmark). The repository contains more information about the benchmarking.
## Example: Single instance performance

View File

@ -128,7 +128,7 @@ Each worker process runs a server that exposes optional endpoints:
/// info | Feature availability
* Available on Self-hosted Enterprise plans.
* If you want access to this feature on Cloud Enterprise, [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa){:target=_blank .external-link}.
* If you want access to this feature on Cloud Enterprise, [contact n8n](https://n8n-community.typeform.com/to/y9X2YuGa).
///
You can view running workers and their performance metrics in n8n by selecting **Settings** > **Workers**.

View File

@ -54,7 +54,7 @@ This report lists nodes that interact with the file system.
This report shows:
* Official risky nodes. These are n8n built in nodes. You can use them to fetch and run any code on the host system, which exposes the instance to exploits. You can view the list in [n8n code | Audit constants](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/security-audit/constants.ts#L51){:target=_blank .external-link}, under `OFFICIAL_RISKY_NODE_TYPES`.
* Official risky nodes. These are n8n built in nodes. You can use them to fetch and run any code on the host system, which exposes the instance to exploits. You can view the list in [n8n code | Audit constants](https://github.com/n8n-io/n8n/blob/master/packages/cli/src/security-audit/constants.ts#L51), under `OFFICIAL_RISKY_NODE_TYPES`.
* Community nodes.
* Custom nodes.

View File

@ -11,9 +11,9 @@ There are two methods to support TLS/SSL in n8n.
## Use a reverse proxy (recommended)
Use a reverse proxy like [Traefik](https://doc.traefik.io/traefik/){:target=_blank .external-link} or a Network Load Balancer (NLB) in front of the n8n instance. This should also take care of certificate renewals.
Use a reverse proxy like [Traefik](https://doc.traefik.io/traefik/) or a Network Load Balancer (NLB) in front of the n8n instance. This should also take care of certificate renewals.
Refer to [Security | Data encryption](https://n8n.io/legal/#security){:target=_blank .external-link} for more information.
Refer to [Security | Data encryption](https://n8n.io/legal/#security) for more information.
## Pass certificates into n8n directly

View File

@ -15,11 +15,11 @@ Curated by [n8n](https://github.com/n8n-io), it combines the self-hosted n8n pla
✅ [**Self-hosted n8n**](/hosting/index.md): Low-code platform with over 400 integrations and advanced AI components.
✅ [**Ollama**](https://ollama.com/){:target=_blank .external-link}: Cross-platform LLM platform to install and run the latest local LLMs.
✅ [**Ollama**](https://ollama.com/): Cross-platform LLM platform to install and run the latest local LLMs.
✅ [**Qdrant**](https://qdrant.tech/){:target=_blank .external-link}: Open-source, high performance vector store with a comprehensive API.
✅ [**Qdrant**](https://qdrant.tech/): Open-source, high performance vector store with a comprehensive API.
✅ [**PostgreSQL**](https://www.postgresql.org/){:target=_blank .external-link}: The workhorse of the Data Engineering world, handles large amounts of data safely.
✅ [**PostgreSQL**](https://www.postgresql.org/): The workhorse of the Data Engineering world, handles large amounts of data safely.
## What you can build
@ -34,7 +34,7 @@ Curated by [n8n](https://github.com/n8n-io), it combines the self-hosted n8n pla
## Get the kit
<!-- vale off -->
Head to [the GitHub repository](https://github.com/n8n-io/self-hosted-ai-starter-kit){:target=_blank .external-link} to clone the repo and get started!
Head to [the GitHub repository](https://github.com/n8n-io/self-hosted-ai-starter-kit) to clone the repo and get started!
<!-- vale on -->
/// note | For testing only

View File

@ -10,7 +10,7 @@ hide:
# Welcome to n8n Docs
This is the documentation for [n8n](https://n8n.io/){:target=_blank .external-link}, a [fair-code](https://faircode.io){:target=_blank .external-link} licensed workflow automation tool that combines AI capabilities with business process automation.
This is the documentation for [n8n](https://n8n.io/), a [fair-code](https://faircode.io) licensed workflow automation tool that combines AI capabilities with business process automation.
It covers everything from setup to usage and development. It's a work in progress and all [contributions](/help-community/contributing.md) are welcome.

View File

@ -32,7 +32,7 @@ Refer to [Adalo credentials](/integrations/builtin/credentials/adalo.md) for gui
## Related resources
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.
Refer to [Adalo's documentation](https://help.adalo.com/) for more information on using Adalo. Their [External Collections with APIs](https://help.adalo.com/integrations/external-collections-with-apis) page gives more detail about what you can do with Adalo collections.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -33,7 +33,7 @@ Refer to [Airtable credentials](/integrations/builtin/credentials/airtable.md) f
n8n provides a trigger node for Airtable. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.airtabletrigger.md).
Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction){:target=_blank .external-link} for more information about the service.
Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"
@ -46,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/docs/finding-airtable-ids){:target=_blank .external-link}. 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). You can then use this Record ID in your Airtable node.
### Use the List operation

View File

@ -31,7 +31,7 @@ Refer to [AWS Certificate Manager credentials](/integrations/builtin/credentials
## Related resources
Refer to [AWS Certificate Manager's documentation](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html){:target=_blank .external-link} for more information on this service.
Refer to [AWS Certificate Manager's documentation](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) for more information on this service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -12,7 +12,7 @@ Use the AWS Elastic Load Balancing node to automate work in AWS ELB, and integra
On this page, you'll find a list of operations the AWS ELB node supports and links to more resources.
/// note | Credentials
Refer to [AWS ELB credentials](/integrations/builtin/credentials/aws.md){:target=_blank .external-link} for guidance on setting up authentication.
Refer to [AWS ELB credentials](/integrations/builtin/credentials/aws.md) for guidance on setting up authentication.
///
## Operations
@ -36,7 +36,7 @@ This node supports creating and managing application and network load balancers.
## Related resources
Refer to [AWS ELB's documentation](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html){:target=_blank .external-link} for more information on this service.
Refer to [AWS ELB's documentation](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) for more information on this service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -15,7 +15,7 @@ On this page, you'll find a list of operations the Webex node supports and links
Refer to [Webex credentials](/integrations/builtin/credentials/ciscowebex.md) 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 [Webex integrations](https://n8n.io/integrations/webex-by-cisco/){:target=_blank .external-link} list.
For usage examples and templates to help you get started, take a look at n8n's [Webex integrations](https://n8n.io/integrations/webex-by-cisco/) list.
///
## Operations

View File

@ -30,7 +30,7 @@ Refer to [Cloudflare credentials](/integrations/builtin/credentials/cloudflare.
## Related resources
Refer to [Cloudflare's API documentation on zone-level authentication](https://api.cloudflare.com/#zone-level-authenticated-origin-pulls-properties){:target=_blank .external-link} for more information on this service.
Refer to [Cloudflare's API documentation on zone-level authentication](https://api.cloudflare.com/#zone-level-authenticated-origin-pulls-properties) for more information on this service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -56,7 +56,7 @@ You can find authentication information for this node [here](/integrations/built
n8n provides a trigger node for crowd.dev. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.crowddevtrigger.md).
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.
Refer to [crowd.dev's documentation](https://docs.crowd.dev/reference/getting-started-with-crowd-dev-api) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -51,7 +51,7 @@ Refer to [Discord credentials](/integrations/builtin/credentials/discord.md) for
## Related resources
Refer to [Discord's documentation](https://discord.com/developers/docs/intro){:target=_blank .external-link} for more information about the service.
Refer to [Discord's documentation](https://discord.com/developers/docs/intro) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -51,7 +51,7 @@ Refer to [GitLab credentials](/integrations/builtin/credentials/gitlab.md) for g
## Related resources
Refer to [GitLab's documentation](https://docs.gitlab.com/ee/api/rest/){:target=_blank .external-link} for more information about the service.
Refer to [GitLab's documentation](https://docs.gitlab.com/ee/api/rest/) for more information about the service.
n8n provides a trigger node for GitLab. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md).

View File

@ -36,7 +36,7 @@ Use these options to further refine the node's behavior:
* **Thread ID**: If you want this draft attached to a thread, enter the ID for that thread.
* **To Email**: Enter one or more email addresses for recipients. Separate multiple email addresses with a comma, for example `jay@gatsby.com, jon@smith.com`.
Refer to the [Gmail API Method: users.drafts.create](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.drafts.create](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create) documentation for more information.
## Delete a draft
@ -49,7 +49,7 @@ Enter these parameters:
* **Operation**: Select **Delete**.
* **Draft ID**: Enter the ID of the draft you wish to delete.
Refer to the [Gmail API Method: users.drafts.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/delete){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.drafts.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/delete) documentation for more information.
## Get a draft
@ -69,7 +69,7 @@ Use these options to further refine the node's behavior:
* **Attachment Prefix**: Enter a prefix for the name of the binary property the node should write any attachments to. n8n adds an index starting with `0` to the prefix. For example, if you enter `attachment_' as the prefix, the first attachment saves to 'attachment_0'.
* **Download Attachments**: Select whether the node should download the draft's attachments (turned on) or not (turned off).
Refer to the [Gmail API Method: users.drafts.get](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/get){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.drafts.get](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/get) documentation for more information.
<!-- vale off -->
## Get Many drafts
@ -95,7 +95,7 @@ Use these options to further refine the node's behavior:
* **Download Attachments**: Select whether the node should download the draft's attachments (turned on) or not (turned off).
* **Include Spam and Trash**: Select whether the node should get drafts in the Spam and Trash folders (turned on) or not (turned off).
Refer to the [Gmail API Method: users.drafts.list](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/list){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.drafts.list](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/list) documentation for more information.
## Common issues

View File

@ -31,7 +31,7 @@ Use these options to further refine the node's behavior:
* **Show if Unread**: Show the label if there are any unread messages with that label.
* **Message List Visibility**: Sets the visibility of messages with this label in the message list in the Gmail web interface. Choose whether to **Show** or **Hide** messages with this label.
Refer to the [Gmail API Method: users.labels.create](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/create){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.labels.create](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/create) documentation for more information.
## Delete a label
@ -44,7 +44,7 @@ Enter these parameters:
* **Operation**: Select **Delete**.
* **Label ID**: Enter the ID of the label you want to delete.
Refer to the [Gmail API Method: users.labels.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/delete){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.labels.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/delete) documentation for more information.
## Get a label
@ -57,7 +57,7 @@ Enter these parameters:
* **Operation**: Select **Get**.
* **Label ID**: Enter the ID of the label you want to get.
Refer to the [Gmail API Method: users.labels.get](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/get){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.labels.get](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/get) documentation for more information.
<!-- vale off -->
## Get Many labels
@ -73,7 +73,7 @@ Enter these parameters:
* **Return All**: Choose whether the node returns all labels (turned on) or only up to a set limit (turned off).
* **Limit**: Enter the maximum number of labels to return. Only used if you've turned off **Return All**.
Refer to the [Gmail API Method: users.labels.list](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/list){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.labels.list](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/list) documentation for more information.
## Common issues

View File

@ -23,7 +23,7 @@ Enter these parameters:
* **Label Names or IDs**: Select the Label names you want to add or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
<!-- vale off -->
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) documentation for more information.
<!-- vale on -->
## Delete a message
@ -41,7 +41,7 @@ Enter these parameters:
* **Operation**: Select **Delete**.
* **Message ID**: Enter the ID of the message you want to delete.
Refer to the [Gmail API Method: users.messages.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/delete){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/delete) documentation for more information.
## Get a message
@ -56,7 +56,7 @@ Enter these parameters:
* **Simplify**: Choose whether to return a simplified version of the response (turned on) or the raw data (turned off). Default is on.
* This is the same as setting the `format` for the API call to `metadata`, which returns email message IDs, labels, and email headers, including: From, To, CC, BCC, and Subject.
Refer to the [Gmail API Method: users.messages.get](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/get){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.get](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/get) documentation for more information.
<!-- vale off -->
## Get Many messages
@ -82,13 +82,13 @@ Use these filters to further refine the node's behavior:
* **Include Spam and Trash**: Select whether the node should get messages in the Spam and Trash folders (turned on) or not (turned off).
* **Label Names or IDs**: Only return messages with the selected labels added to them. Select the Label names you want to apply or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
* **Search**: Enter Gmail search refine filters, like `from:`, to filter the messages returned. Refer to [Refine searches in Gmail](https://support.google.com/mail/answer/7190?hl=en){:target=_blank .external-link} for more information.
* **Search**: Enter Gmail search refine filters, like `from:`, to filter the messages returned. Refer to [Refine searches in Gmail](https://support.google.com/mail/answer/7190?hl=en) for more information.
* **Read Status**: Choose whether to receive **Unread and read emails**, **Unread emails only** (default), or **Read emails only**.
* **Received After**: Return only those emails received after the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target=_blank .external-link} for more information on formatting the string.
* **Received Before**: Return only those emails received before the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target=_blank .external-link} for more information on formatting the string.
* **Received After**: Return only those emails received after the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) for more information on formatting the string.
* **Received Before**: Return only those emails received before the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) for more information on formatting the string.
* **Sender**: Enter an email or a part of a sender name to return messages from only that sender.
Refer to the [Gmail API Method: users.messages.list](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.list](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list) documentation for more information.
## Mark as Read
@ -102,7 +102,7 @@ Enter these parameters:
* **Message ID**: Enter the ID of the message you wish to mark as read.
<!-- vale off -->
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) documentation for more information.
<!-- vale on -->
## Mark as Unread
@ -117,7 +117,7 @@ Enter these parameters:
* **Message ID**: Enter the ID of the message you wish to mark as unread.
<!-- vale off -->
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) documentation for more information.
<!-- vale on -->
## Remove Label from a message
@ -133,7 +133,7 @@ Enter these parameters:
* **Label Names or IDs**: Select the Label names you want to remove or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
<!-- vale off -->
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) documentation for more information.
<!-- vale on -->
## Reply to a message
@ -161,7 +161,7 @@ Use these options to further refine the node's behavior:
* **Sender Name**: Enter the name you want displayed in your recipients' email as the sender.
* **Reply to Sender Only**: Choose whether to reply all (turned off) or reply to the sender only (turned on).
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send) documentation for more information.
## Send a message
@ -190,7 +190,7 @@ Use these options to further refine the node's behavior:
* **Send Replies To**: Enter an email address to set as the reply to address.
* **Reply to Sender Only**: Choose whether to reply all (turned off) or reply to the sender only (turned on).
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send) documentation for more information.
## Send a message and wait for approval
@ -219,7 +219,7 @@ Use these options to further refine the node's behavior:
* **Disapprove Button Label**: The label to use for the disapproval button (**Decline** by default). Only visible when you set **Type of Approval** to **Approve and Disapprove**.
* **Disapprove Button Style**: Whether to style the disapproval button as a **Primary** or **Secondary** (default) button. Only visible when you set **Type of Approval** to **Approve and Disapprove**.
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send) documentation for more information.
## Common issues

View File

@ -23,7 +23,7 @@ Enter these parameters:
* **Label Names or IDs**: Select the Label names you want to apply or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
<!-- vale off -->
Refer to the [Gmail API Method: users.threads.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/modify) documentation for more information.
<!-- vale on -->
## Delete a thread
@ -41,7 +41,7 @@ Enter these parameters:
* **Operation**: Select **Delete**.
* **Thread ID**: Enter the ID of the thread you want to delete.
Refer to the [Gmail API Method: users.threads.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/delete){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.delete](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/delete) documentation for more information.
## Get a thread
@ -62,7 +62,7 @@ Use these options to further refine the node's behavior:
* **Return Only Messages**: Choose whether to return only thread messages (turned on).
Refer to the [Gmail API Method: users.threads.get](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/get){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.get](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/get) documentation for more information.
<!-- vale off -->
## Get Many threads
@ -86,12 +86,12 @@ Use these filters to further refine the node's behavior:
* **Include Spam and Trash**: Select whether the node should get threads in the Spam and Trash folders (turned on) or not (turned off).
* **Label Names or IDs**: Only return threads with the selected labels added to them. Select the Label names you want to apply or enter an expression to specify IDs. The dropdown populates based on the **Credential** you selected.
* **Search**: Enter Gmail search refine filters, like `from:`, to filter the threads returned. Refer to [Refine searches in Gmail](https://support.google.com/mail/answer/7190?hl=en){:target=_blank .external-link} for more information.
* **Search**: Enter Gmail search refine filters, like `from:`, to filter the threads returned. Refer to [Refine searches in Gmail](https://support.google.com/mail/answer/7190?hl=en) for more information.
* **Read Status**: Choose whether to receive **Unread and read emails**, **Unread emails only** (default), or **Read emails only**.
* **Received After**: Return only those emails received after the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target=_blank .external-link} for more information on formatting the string.
* **Received Before**: Return only those emails received before the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601){:target=_blank .external-link} for more information on formatting the string.
* **Received After**: Return only those emails received after the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) for more information on formatting the string.
* **Received Before**: Return only those emails received before the specified date and time. Use the date picker to select the day and time or enter an expression to set a date as a string in ISO format or a timestamp in milliseconds. Refer to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) for more information on formatting the string.
Refer to the [Gmail API Method: users.threads.list](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/list){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.list](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/list) documentation for more information.
## Remove label from a thread
@ -106,7 +106,7 @@ Enter these parameters:
* **Label Names or IDs**: Select the Label names you want to remove or enter an expression to specify their IDs. The dropdown populates based on the **Credential** you selected.
<!-- vale off -->
Refer to the [Gmail API Method: users.threads.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/modify){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.modify](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/modify) documentation for more information.
<!-- vale on -->
## Reply to a message
@ -134,7 +134,7 @@ Use these options to further refine the node's behavior:
* **Sender Name**: Enter the name you want displayed in your recipients' email as the sender.
* **Reply to Sender Only**: Choose whether to reply all (turned off) or reply to the sender only (turned on).
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.messages.send](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send) documentation for more information.
## Trash a thread
@ -147,7 +147,7 @@ Enter these parameters:
* **Operation**: Select **Trash**.
* **Thread ID**: Enter the ID of the thread you want to move to the trash.
Refer to the [Gmail API Method: users.threads.trash](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/trash){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.trash](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/trash) documentation for more information.
## Untrash a thread
@ -160,7 +160,7 @@ Enter these parameters:
* **Operation**: Select **Untrash**.
* **Thread ID**: Enter the ID of the thread you want to move to the trash.
Refer to the [Gmail API Method: users.threads.untrash](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/untrash){:target=_blank .external-link} documentation for more information.
Refer to the [Gmail API Method: users.threads.untrash](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/untrash) documentation for more information.
## Common issues

View File

@ -34,6 +34,6 @@ You can find authentication information for this node [here](/integrations/built
## Related resources
Refer to [Gong's documentation](https://gong.app.gong.io/settings/api/documentation){:target=_blank .external-link} for more information about the service.
Refer to [Gong's documentation](https://gong.app.gong.io/settings/api/documentation) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -29,6 +29,6 @@ Refer to [Google Ads credentials](/integrations/builtin/credentials/google/index
## Related resources
Refer to [Google Ads' documentation](https://developers.google.com/google-ads/api/docs/start){:target=_blank .external-link} for more information about the service.
Refer to [Google Ads' documentation](https://developers.google.com/google-ads/api/docs/start) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -33,6 +33,6 @@ Refer to [Google Analytics credentials](/integrations/builtin/credentials/google
## Related resources
Refer to [Google Analytics' documentation](https://developers.google.com/analytics){:target=_blank .external-link} for more information about the service.
Refer to [Google Analytics' documentation](https://developers.google.com/analytics) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -30,6 +30,6 @@ Refer to [Google BigQuery credentials](/integrations/builtin/credentials/google/
## Related resources
Refer to [Google BigQuery's documentation](https://cloud.google.com/bigquery/docs/reference/rest){:target=_blank .external-link} for more information about the service.
Refer to [Google BigQuery's documentation](https://cloud.google.com/bigquery/docs/reference/rest) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -39,6 +39,6 @@ You can find authentication information for this node [here](/integrations/built
n8n provides a trigger node for Google Business Profile. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.googlebusinessprofiletrigger.md).
Refer to [Google Business Profile's documentation](https://developers.google.com/my-business/reference/rest){:target=_blank .external-link} for more information about the service.
Refer to [Google Business Profile's documentation](https://developers.google.com/my-business/reference/rest) for more information about the service.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -35,4 +35,4 @@ Enter these parameters:
- **RAW**: Returns the RAW data from the API.
- **Timezone**: The timezone used in the response. By default, uses the n8n timezone.
Refer to the [Freebusy: query | Google Calendar](https://developers.google.com/calendar/api/v3/reference/freebusy/query){:target=_blank .external-link} API documentation for more information.
Refer to the [Freebusy: query | Google Calendar](https://developers.google.com/calendar/api/v3/reference/freebusy/query) API documentation for more information.

View File

@ -49,7 +49,7 @@ Enter these parameters:
- **Show Me As**: Whether the event blocks time on the calendar.
- **Summary**: The title of the event.
Refer to the [Events: insert | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Events: insert | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/insert) API documentation for more information.
## Delete
@ -67,7 +67,7 @@ Enter these parameters:
- **Send Updates**: Whether to send notifications about the deletion of the event.
Refer to the [Events: delete | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/delete){:target=_blank .external-link} API documentation for more information.
Refer to the [Events: delete | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/delete) API documentation for more information.
## Get
@ -87,7 +87,7 @@ Enter these parameters:
- **Return Next Instance of Recurrent Event**: Whether to return the next instance of a recurring event instead of the event itself.
- **Timezone**: The timezone used in the response. By default, uses the n8n timezone.
Refer to the [Events: get | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/get){:target=_blank .external-link} API documentation for more information.
Refer to the [Events: get | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/get) API documentation for more information.
<!-- vale from-write-good.Weasel = NO -->
## Get Many
@ -124,7 +124,7 @@ Enter these parameters:
- **Timezone**: The timezone used in the response. By default, uses the n8n timezone.
- **Updated Min**: The lower bounds for an event's last modification time (as an [RFC 3339 timestamp](https://datatracker.ietf.org/doc/html/rfc3339))
Refer to the [Events: list | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/list){:target=_blank .external-link} API documentation for more information.
Refer to the [Events: list | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/list) API documentation for more information.
## Update
@ -173,4 +173,4 @@ Enter these parameters:
- **Public**: The event is public and the event details are visible to all readers of the calendar.
- **Private**: The event is private and only event attendees may view event details.
Refer to the [Events: update | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/update){:target=_blank .external-link} API documentation for more information.
Refer to the [Events: update | Google Calendar](https://developers.google.com/calendar/api/v3/reference/events/update) API documentation for more information.

View File

@ -38,6 +38,6 @@ Refer to [Google Calendar credentials](/integrations/builtin/credentials/google/
n8n provides a trigger node for Google Calendar. You can find the trigger node docs [here](/integrations/builtin/trigger-nodes/n8n-nodes-base.googlecalendartrigger.md).
Refer to [Google Calendar's documentation](https://developers.google.com/calendar/api/v3/reference){:target=_blank .external-link} for more information about the service.
Refer to [Google Calendar's documentation](https://developers.google.com/calendar/api/v3/reference) for more information about the service.
View [example workflows and related content](https://n8n.io/integrations/google-calendar/){:target=_blank .external-link} on n8n's website.
View [example workflows and related content](https://n8n.io/integrations/google-calendar/) on n8n's website.

View File

@ -37,6 +37,6 @@ Refer to [Google Cloud Storage credentials](/integrations/builtin/credentials/go
## Related resources
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.
Refer to Google's [Cloud Storage API documentation](https://cloud.google.com/storage/docs/apis) for detailed information about the API that this node integrates with.
--8<-- "_snippets/integrations/builtin/app-nodes/operation-not-supported.md"

View File

@ -39,4 +39,4 @@ Enter these parameters:
- **Fields**: Select the fields to return. Can be one or more of the following: **[All]**, **explicitlyTrashed**, **exportLinks**, **hasThumbnail**, **iconLink**, **ID**, **Kind**, **mimeType**, **Name**, **Permissions**, **Shared**, **Spaces**, **Starred**, **thumbnailLink**, **Trashed**, **Version**, or **webViewLink**.
Refer to the [Method: files.list | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/list){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.list | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/list) API documentation for more information.

View File

@ -35,7 +35,7 @@ Enter these parameters:
- **Copy Requires Writer Permissions**: Select whether to enable readers and commenters to copy, print, or download the new file.
- **Description**: A short description of the file.
Refer to the [Method: files.copy | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/copy){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.copy | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/copy) API documentation for more information.
## Create from text
@ -65,7 +65,7 @@ You can find the `driveId` and `folderID` by visiting the shared drive or folder
- **Use Content As Indexable Text**: Choose whether to mark the uploaded content as indexable text.
- **Convert to Google Document**: Choose whether to create a Google Document instead of the default `.txt` format. You must enable the Google Docs API in the [Google API Console](https://console.cloud.google.com/apis/library/docs.googleapis.com) for this to work.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert) API documentation for more information.
## Delete a file
@ -84,7 +84,7 @@ Enter these parameters:
- **Delete Permanently**: Choose whether to delete the file now instead of moving it to the trash.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete) API documentation for more information.
## Download a file
@ -109,7 +109,7 @@ Enter these parameters:
* **Google Sheets**: Choose the export format to use when downloading Google Sheets files: **CSV**, **MS Excel**, **Open Office Sheet**, or **PDF**.
- **File Name**: The name to use for the downloaded file.
Refer to the [Method: files.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/get){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/get) API documentation for more information.
## Move a file
@ -128,7 +128,7 @@ Enter these parameters:
You can find the `driveId` and `folderID` by visiting the shared drive or folder in your browser and copying the last URL component: `https://drive.google.com/drive/u/1/folders/driveId`.
Refer to the [Method: parents.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/parents/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: parents.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/parents/insert) API documentation for more information.
## Share a file
@ -160,7 +160,7 @@ Enter these parameters:
- **Transfer Ownership**: Whether to transfer ownership to the specified user and downgrade the current owner to writer permissions.
- **Use Domain Admin Access**: Whether to perform the action as a domain administrator.
Refer to the [REST Resources: files | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files){:target=_blank .external-link} API documentation for more information.
Refer to the [REST Resources: files | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files) API documentation for more information.
## Update a file
@ -192,7 +192,7 @@ Enter these parameters:
- **Move to Trash**: Whether to move the file to the trash. Only possible for the file owner.
- **Return Fields**: Return metadata fields about the file. Can be one or more of the following: **[All]**, **explicitlyTrashed**, **exportLinks**, **hasThumbnail**, **iconLink**, **ID**, **Kind**, **mimeType**, **Name**, **Permissions**, **Shared**, **Spaces**, **Starred**, **thumbnailLink**, **Trashed**, **Version**, or **webViewLink**.
Refer to the [Method: files.update | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/update){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.update | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/update) API documentation for more information.
## Upload a file
@ -223,4 +223,4 @@ You can find the `driveId` and `folderID` by visiting the shared drive or folder
- **Use Content As Indexable Text**: Choose whether to mark the uploaded content as indexable text.
- **Simplify Output**: Choose whether to return a simplified version of the response instead of including all fields.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert) API documentation for more information.

View File

@ -31,7 +31,7 @@ You can find the `driveId` and `folderID` by visiting the shared drive or folder
- **Simplify Output**: Choose whether to return a simplified version of the response instead of including all fields.
- **Folder Color**: The color of the folder as an RGB hex string.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/insert) API documentation for more information.
## Delete a folder
@ -50,7 +50,7 @@ Enter these parameters:
- **Delete Permanently**: Choose whether to delete the folder now instead of moving it to the trash.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete) API documentation for more information.
## Share a folder
@ -82,4 +82,4 @@ Enter these parameters:
- **Transfer Ownership**: Whether to transfer ownership to the specified user and downgrade the current owner to writer permissions.
- **Use Domain Admin Access**: Whether to perform the action as a domain administrator.
Refer to the [REST Resources: files | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files){:target=_blank .external-link} API documentation for more information.
Refer to the [REST Resources: files | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files) API documentation for more information.

View File

@ -51,7 +51,7 @@ Enter these parameters:
- **Domain Users Only**: Whether to restrict access to this shared drive and items inside this shared drive to users of the domain to which this shared drive belongs.
- **Drive Members Only**: Whether to restrict access to items inside this shared drive to its members.
Refer to the [Method: drives.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/insert){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: drives.insert | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/insert) API documentation for more information.
## Delete a shared drive
@ -66,7 +66,7 @@ Enter these parameters:
- Select **From list** to choose the title from the dropdown list, **By URL** to enter the URL of the drive, or **By ID** to enter the `driveId`.
- You can find the `driveId` in the URL for the shared Google Drive: `https://drive.google.com/drive/u/0/folders/driveID`.
Refer to the [Method: drives.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/delete){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: drives.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/delete) API documentation for more information.
## Get a shared drive
@ -85,7 +85,7 @@ Enter these parameters:
- **Use Domain Admin Access**: Whether to issue the request as a domain administrator. When enabled, grants the requester access if they're an administrator of the domain to which the shared drive belongs.
Refer to the [Method: drives.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: drives.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get) API documentation for more information.
<!-- vale from-write-good.Weasel = NO -->
## Get many shared drives
@ -109,7 +109,7 @@ Enter these parameters:
- **Query**: The query string to use to search for shared drives. See [Search for shared drives | Google Drive](https://developers.google.com/drive/api/guides/search-shareddrives) for more information.
- **Use Domain Admin Access**: Whether to issue the request as a domain administrator. When enabled, grants the requester access if they're an administrator of the domain to which the shared drive belongs.
Refer to the [Method: drives.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: drives.get | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get) API documentation for more information.
## Update a shared drive
@ -134,4 +134,4 @@ Enter these parameters:
- **Domain Users Only**: Whether to restrict access to this shared drive and items inside this shared drive to users of the domain to which this shared drive belongs.
- **Drive Members Only**: Whether to restrict access to items inside this shared drive to its members.
Refer to the [Method: drives.update | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/update){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: drives.update | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/update) API documentation for more information.

View File

@ -32,9 +32,9 @@ Enter these parameters:
- `fil` (639-2 if no 639-1 format exists)
- `en_US` (combination of ISO language and country).
- Refer to [List of ISO 639 language codes](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes){:target=_blank .external link} and [List of ISO 3166 country codes](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes){:target=_blank .external link} for language and country codes. Note that Google doesn't support all locales/languages.
- **Recalculation Interval**: Enter the desired recalculation interval for the spreadsheet functions. This affects how often `NOW`, `TODAY`, `RAND`, and `RANDBETWEEN` are updated. Select **On Change** for recalculating whenever there is a change in the spreadsheet, **Minute** for recalculating every minute, or **Hour** for recalculating every hour. Refer to [Set a spreadsheets location & calculation settings](https://support.google.com/docs/answer/58515){:target=_blank .external-link} for more information about these options.
- **Recalculation Interval**: Enter the desired recalculation interval for the spreadsheet functions. This affects how often `NOW`, `TODAY`, `RAND`, and `RANDBETWEEN` are updated. Select **On Change** for recalculating whenever there is a change in the spreadsheet, **Minute** for recalculating every minute, or **Hour** for recalculating every hour. Refer to [Set a spreadsheets location & calculation settings](https://support.google.com/docs/answer/58515) for more information about these options.
Refer to the [Method: spreadsheets.create | Google Sheets](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: spreadsheets.create | Google Sheets](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create) API documentation for more information.
## Delete a spreadsheet
@ -49,4 +49,4 @@ Enter these parameters:
- Select **From list** to choose the title from the dropdown list, **By URL** to enter the url of the spreadsheet, or **By ID** to enter the `spreadsheetId`.
- You can find the `spreadsheetId` in a Google Sheets URL: `https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0`.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete){:target=_blank .external-link} API documentation for more information.
Refer to the [Method: files.delete | Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete) API documentation for more information.

Some files were not shown because too many files have changed in this diff Show More