@n8n-as-code/skills 1.10.1-next.7 → 2.0.0-next.117

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  {
2
- "generatedAt": "2026-04-30T18:35:17.520Z",
2
+ "generatedAt": "2026-05-05T21:30:24.454Z",
3
3
  "version": "1.0.0",
4
4
  "sourceUrl": "https://docs.n8n.io/llms.txt",
5
- "totalPages": 1273,
5
+ "totalPages": 1272,
6
6
  "statistics": {
7
7
  "byCategory": {
8
- "other": 514,
8
+ "other": 513,
9
9
  "tutorials": 27,
10
10
  "advanced-ai": 28,
11
11
  "api": 6,
@@ -26,7 +26,7 @@
26
26
  "categories": {
27
27
  "other": {
28
28
  "description": "General documentation and guides",
29
- "totalPages": 514,
29
+ "totalPages": 513,
30
30
  "pages": [
31
31
  "page-0001",
32
32
  "page-0002",
@@ -35,7 +35,6 @@
35
35
  "page-0005",
36
36
  "page-0006",
37
37
  "page-0007",
38
- "page-0008",
39
38
  "page-0009",
40
39
  "page-0010",
41
40
  "page-0011",
@@ -2308,107 +2307,6 @@
2308
2307
  ]
2309
2308
  }
2310
2309
  },
2311
- {
2312
- "id": "page-0008",
2313
- "title": "Keyboard shortcuts",
2314
- "url": "https://docs.n8n.io/keyboard-shortcuts/index.md",
2315
- "urlPath": "keyboard-shortcuts/index.md",
2316
- "category": "other",
2317
- "subcategory": null,
2318
- "nodeName": null,
2319
- "nodeType": null,
2320
- "content": {
2321
- "markdown": "# Keyboard shortcuts and controls\n\nn8n provides keyboard shortcuts for some actions.\n\n## Workflow controls\n\n- **Ctrl** + **Alt** + **n**: create new workflow\n- **Ctrl** + **o**: open workflow\n- **Ctrl** + **s**: save the current workflow\n- **Ctrl** + **z**: undo\n- **Ctrl** + **shift** + **z**: redo\n- **Ctrl** + **Enter**: execute workflow\n\n## Canvas\n\n### Move the canvas\n\n- **Ctrl** + **Left Mouse Button** + drag: move node view\n- **Ctrl** + **Middle mouse button** + drag: move node view\n- **Space** + drag: move node view\n- **Middle mouse button** + drag: move node view\n- Two fingers on a touch screen: move node view\n\n### Canvas zoom\n\n- **+** or **=**: zoom in\n- **-** or **\\_**: zoom out\n- **0**: reset zoom level\n- **1**: zoom to fit workflow\n- **Ctrl** + **Mouse wheel**: zoom in/out\n\n### Nodes on the canvas\n\n- **Double click** on a node: open the node details\n- **Ctrl/Cmd** + **Double click** on a sub-workflow node: open the sub-workflow in a new tab\n- **Ctrl** + **a**: select all nodes\n- **Ctrl** + **v**: paste nodes\n- **Shift** + **s**: add sticky note\n\n### With one or more nodes selected in canvas\n\n- **ArrowDown**: select sibling node below the current one\n- **ArrowLeft**: select node left of the current one\n- **ArrowRight**: select node right of the current one\n- **ArrowUp**: select sibling node above the current one\n- **Ctrl** + **c**: copy\n- **Ctrl** + **x**: cut\n- **D**: deactivate\n- **Delete**: delete\n- **Enter**: open\n- **F2**: rename\n- **P**: pin data in node. Refer to [Data pinning](../data/data-pinning/) for more information.\n- **Shift** + **ArrowLeft**: select all nodes left of the current one\n- **Shift** + **ArrowRight**: select all nodes right of the current one\n- **Ctrl/Cmd** + **Shift** + **o** on a sub-workflow node: open the sub-workflow in a new tab\n\n## Node panel\n\n- **N**: open the Node Panel\n- **Enter**: insert selected node into workflow\n- **Escape**: close Node panel\n\n### Node panel categories\n\n- **Enter**: insert node into workflow, collapse/expand category, open subcategory\n- **ArrowRight**: expand category, open subcategory\n- **ArrowLeft**: collapse category, close subcategory view\n\n## Within nodes\n\n- **=**: in an empty parameter input, this switches to [expressions](../glossary/#expression-n8n) mode.\n\n## Command bar\n\nThe Command Bar provides quick access to actions and navigation throughout n8n. Access it using **Ctrl/Cmd + K**, or click the magnifying glass icon on the canvas. Commands adapt based on your current view and permissions.\n\n- **Workflow actions:** Add nodes, save, test, tidy up, publish/unpublish, duplicate, import/export, archive, delete\n- **Resource navigation:** Create and open workflows, credentials, data tables, projects; access recent resources\n- **Execution actions:** Debug, copy, retry, stop, or delete executions\n- **General navigation:** Access Templates, Variables, Insights, Settings, Help resources, and Documentation\n",
2322
- "excerpt": "# Keyboard shortcuts and controls n8n provides keyboard shortcuts for some actions. ## Workflow controls - **Ctrl** + **Alt** + **n**: create new workflow - **Ctrl** + **o**: open workflow - **Ctrl** + **s**: save the current workflow - **Ctrl** + **z**: undo - **Ctrl** + **shift** + **z**: redo - **Ctrl** + **Enter**: execute workflow ## Canvas ### Move the canvas - **Ctrl** + **Left Mouse Button** + drag: move node view - **Ctrl** + **Middle mouse button** + drag: move node view - **Spac...",
2323
- "sections": [
2324
- {
2325
- "title": "Keyboard shortcuts and controls",
2326
- "level": 1,
2327
- "content": "n8n provides keyboard shortcuts for some actions."
2328
- }
2329
- ]
2330
- },
2331
- "metadata": {
2332
- "keywords": [
2333
- "keyboard",
2334
- "shortcuts",
2335
- "controls",
2336
- "workflow",
2337
- "canvas",
2338
- "move",
2339
- "zoom",
2340
- "nodes",
2341
- "with",
2342
- "more",
2343
- "selected",
2344
- "node",
2345
- "panel",
2346
- "categories",
2347
- "within",
2348
- "command"
2349
- ],
2350
- "useCases": [],
2351
- "operations": [
2352
- "** add nodes",
2353
- "save",
2354
- "test",
2355
- "tidy up",
2356
- "publish",
2357
- "unpublish",
2358
- "duplicate",
2359
- "import",
2360
- "export",
2361
- "archive",
2362
- "delete",
2363
- "** debug",
2364
- "copy",
2365
- "retry",
2366
- "stop",
2367
- "or delete executions"
2368
- ],
2369
- "codeExamples": 0,
2370
- "complexity": "beginner",
2371
- "readingTime": "3 min",
2372
- "contentLength": 2921,
2373
- "relatedPages": []
2374
- },
2375
- "searchIndex": {
2376
- "fullText": "keyboard shortcuts # keyboard shortcuts and controls\n\nn8n provides keyboard shortcuts for some actions.\n\n## workflow controls\n\n- **ctrl** + **alt** + **n**: create new workflow\n- **ctrl** + **o**: open workflow\n- **ctrl** + **s**: save the current workflow\n- **ctrl** + **z**: undo\n- **ctrl** + **shift** + **z**: redo\n- **ctrl** + **enter**: execute workflow\n\n## canvas\n\n### move the canvas\n\n- **ctrl** + **left mouse button** + drag: move node view\n- **ctrl** + **middle mouse button** + drag: move node view\n- **space** + drag: move node view\n- **middle mouse button** + drag: move node view\n- two fingers on a touch screen: move node view\n\n### canvas zoom\n\n- **+** or **=**: zoom in\n- **-** or **\\_**: zoom out\n- **0**: reset zoom level\n- **1**: zoom to fit workflow\n- **ctrl** + **mouse wheel**: zoom in/out\n\n### nodes on the canvas\n\n- **double click** on a node: open the node details\n- **ctrl/cmd** + **double click** on a sub-workflow node: open the sub-workflow in a new tab\n- **ctrl** + **a**: select all nodes\n- **ctrl** + **v**: paste nodes\n- **shift** + **s**: add sticky note\n\n### with one or more nodes selected in canvas\n\n- **arrowdown**: select sibling node below the current one\n- **arrowleft**: select node left of the current one\n- **arrowright**: select node right of the current one\n- **arrowup**: select sibling node above the current one\n- **ctrl** + **c**: copy\n- **ctrl** + **x**: cut\n- **d**: deactivate\n- **delete**: delete\n- **enter**: open\n- **f2**: rename\n- **p**: pin data in node. refer to [data pinning](../data/data-pinning/) for more information.\n- **shift** + **arrowleft**: select all nodes left of the current one\n- **shift** + **arrowright**: select all nodes right of the current one\n- **ctrl/cmd** + **shift** + **o** on a sub-workflow node: open the sub-workflow in a new tab\n\n## node panel\n\n- **n**: open the node panel\n- **enter**: insert selected node into workflow\n- **escape**: close node panel\n\n### node panel categories\n\n- **enter**: insert node into workflow, collapse/expand category, open subcategory\n- **arrowright**: expand category, open subcategory\n- **arrowleft**: collapse category, close subcategory view\n\n## within nodes\n\n- **=**: in an empty parameter input, this switches to [expressions](../glossary/#expression-n8n) mode.\n\n## command bar\n\nthe command bar provides quick access to actions and navigation throughout n8n. access it using **ctrl/cmd + k**, or click the magnifying glass icon on the canvas. commands adapt based on your current view and permissions.\n\n- **workflow actions:** add nodes, save, test, tidy up, publish/unpublish, duplicate, import/export, archive, delete\n- **resource navigation:** create and open workflows, credentials, data tables, projects; access recent resources\n- **execution actions:** debug, copy, retry, stop, or delete executions\n- **general navigation:** access templates, variables, insights, settings, help resources, and documentation\n keyboard shortcuts and controls",
2377
- "importantTerms": [
2378
- "node",
2379
- "ctrl",
2380
- "workflow",
2381
- "open",
2382
- "current",
2383
- "nodes",
2384
- "view",
2385
- "select",
2386
- "canvas",
2387
- "move",
2388
- "zoom",
2389
- "shift",
2390
- "data",
2391
- "keyboard",
2392
- "shortcuts",
2393
- "actions",
2394
- "enter",
2395
- "mouse",
2396
- "drag",
2397
- "delete",
2398
- "panel",
2399
- "access",
2400
- "controls",
2401
- "left",
2402
- "button",
2403
- "click",
2404
- "arrowleft",
2405
- "arrowright",
2406
- "category",
2407
- "subcategory",
2408
- "navigation"
2409
- ]
2410
- }
2411
- },
2412
2310
  {
2413
2311
  "id": "page-0009",
2414
2312
  "title": "Learning path",
@@ -2575,7 +2473,7 @@
2575
2473
  "nodeName": null,
2576
2474
  "nodeType": null,
2577
2475
  "content": {
2578
- "markdown": "# Log streaming\n\nFeature availability\n\nLog Streaming is available on all Enterprise plans.\n\nLog streaming allows you to send events from n8n to your own logging tools. This allows you to manage your n8n monitoring in your own alerting and logging processes.\n\n## Set up log streaming\n\nTo use log streaming, you have to add a streaming destination.\n\n1. Navigate to **Settings** > **Log Streaming**.\n1. Select **Add new destination**.\n1. Choose your destination type. n8n opens the **New Event Destination** modal.\n1. In the **New Event Destination** modal, enter the configuration information for your event destination. These depend on the type of destination you're using.\n1. Select **Events** to choose which events to stream.\n1. Select **Save**.\n\nSelf-hosted users\n\nIf you self-host n8n, you can configure additional log streaming behavior using [Environment variables](../hosting/configuration/environment-variables/logs/#log-streaming).\n\n## Events\n\nThe following events are available. You can choose which events to stream in **Settings** > **Log Streaming** > **Events**.\n\n- Workflow\n - Started\n - Success\n - Failed\n - Cancelled\n- Node executions\n - Started\n - Finished\n- Audit\n - User login success\n - User login failed\n - User signed up\n - User updated\n - User deleted\n - User invited\n - User invitation accepted\n - User re-invited\n - User email failed\n - User reset requested\n - User reset\n - User credentials created\n - User credentials shared\n - User credentials updated\n - User credentials deleted\n - User API created\n - User API deleted\n - User MFA enabled\n - User MFA disabled\n - User execution deleted\n - Execution data revealed\n - Execution data reveal failed\n - Package installed\n - Package updated\n - Package deleted\n - Workflow created\n - Workflow deleted\n - Workflow updated\n - Workflow archived\n - Workflow unarchived\n - Workflow activated\n - Workflow deactivated\n - Workflow version updated\n - Workflow executed\n - Workflow waiting\n - Workflow resumed\n - Variable created\n - Variable updated\n - Variable deleted\n - External secrets provider settings saved\n - External secrets provider reloaded\n - Personal publishing restricted enabled\n - Personal publishing restricted disabled\n - Personal sharing restricted enabled\n - Personal sharing restricted disabled\n - 2FA enforcement enabled\n - 2FA enforcement disabled\n- Worker\n - Started\n - Stopped\n- AI node logs\n - Memory get messages\n - Memory added message\n - Output parser parsed\n - Retriever get relevant documents\n - Embeddings embedded document\n - Embeddings embedded query\n - Document processed\n - Text splitter split\n - Tool called\n - Vector store searched\n - LLM generated\n - LLM error\n - Vector store populated\n - Vector store updated\n- Runner\n - Task requested\n - Response received\n- Queue\n - Job enqueued\n - Job dequeued\n - Job completed\n - Job failed\n - Job stalled\n\n## Destinations\n\nn8n supports three destination types:\n\n- A syslog server\n- A generic webhook\n- A Sentry client\n",
2476
+ "markdown": "# Log streaming\n\nFeature availability\n\nLog Streaming is available on all Enterprise plans.\n\nLog streaming allows you to send events from n8n to your own logging tools. This allows you to manage your n8n monitoring in your own alerting and logging processes.\n\n## Set up log streaming\n\nTo use log streaming, you have to add a streaming destination.\n\n1. Navigate to **Settings** > **Log Streaming**.\n1. Select **Add new destination**.\n1. Choose your destination type. n8n opens the **New Event Destination** modal.\n1. In the **New Event Destination** modal, enter the configuration information for your event destination. These depend on the type of destination you're using.\n1. Select **Events** to choose which events to stream.\n1. Select **Save**.\n\nSelf-hosted users\n\nIf you self-host n8n, you can configure additional log streaming behavior using [Environment variables](../hosting/configuration/environment-variables/logs/#log-streaming).\n\n## Events\n\nThe following events are available. You can choose which events to stream in **Settings** > **Log Streaming** > **Events**.\n\n- Workflow\n - Started\n - Success\n - Failed\n - Cancelled\n- Node executions\n - Started\n - Finished\n- Audit\n - User login success\n - User login failed\n - User signed up\n - User updated\n - User deleted\n - User invited\n - User invitation accepted\n - User re-invited\n - User email failed\n - User reset requested\n - User reset\n - User credentials created\n - User credentials shared\n - User credentials updated\n - User credentials deleted\n - User API created\n - User API deleted\n - User MFA enabled\n - User MFA disabled\n - User execution deleted\n - Execution data revealed\n - Execution data reveal failed\n - Package installed\n - Package updated\n - Package deleted\n - Workflow created\n - Workflow deleted\n - Workflow updated\n - Workflow archived\n - Workflow unarchived\n - Workflow activated\n - Workflow deactivated\n - Workflow version updated\n - Workflow executed\n - Workflow waiting\n - Workflow resumed\n - Variable created\n - Variable updated\n - Variable deleted\n - External secrets provider settings saved\n - External secrets provider reloaded\n - External secrets connection created\n - External secrets connection updated\n - External secrets connection deleted\n - External secrets connection tested\n - External secrets connection reloaded\n - Personal publishing restricted enabled\n - Personal publishing restricted disabled\n - Personal sharing restricted enabled\n - Personal sharing restricted disabled\n - 2FA enforcement enabled\n - 2FA enforcement disabled\n - Token exchange succeeded\n - Token exchange failed\n - Token exchange embed login\n - Token exchange embed login failed\n - Token exchange identity linked\n - Token exchange user provisioned\n - Token exchange role updated\n - Role mapping roles resolved\n - Role mapping rule created\n - Role mapping rule updated\n - Role mapping rule deleted\n - Role mapping rules bulk deleted\n- Worker\n - Started\n - Stopped\n- AI node logs\n - Memory get messages\n - Memory added message\n - Output parser parsed\n - Retriever get relevant documents\n - Embeddings embedded document\n - Embeddings embedded query\n - Document processed\n - Text splitter split\n - Tool called\n - Vector store searched\n - LLM generated\n - LLM error\n - Vector store populated\n - Vector store updated\n- Runner\n - Task requested\n - Response received\n- Queue\n - Job enqueued\n - Job dequeued\n - Job completed\n - Job failed\n - Job stalled\n\n## Destinations\n\nn8n supports three destination types:\n\n- A syslog server\n- A generic webhook\n- A Sentry client\n",
2579
2477
  "excerpt": "# Log streaming Feature availability Log Streaming is available on all Enterprise plans. Log streaming allows you to send events from n8n to your own logging tools. This allows you to manage your n8n monitoring in your own alerting and logging processes. ## Set up log streaming To use log streaming, you have to add a streaming destination. 1. Navigate to **Settings** > **Log Streaming**. 1. Select **Add new destination**. 1. Choose your destination type. n8n opens the **New Event Destinati...",
2580
2478
  "sections": [
2581
2479
  {
@@ -2596,23 +2494,31 @@
2596
2494
  "codeExamples": 0,
2597
2495
  "complexity": "beginner",
2598
2496
  "readingTime": "3 min",
2599
- "contentLength": 3036,
2497
+ "contentLength": 3621,
2600
2498
  "relatedPages": []
2601
2499
  },
2602
2500
  "searchIndex": {
2603
- "fullText": "log streaming # log streaming\n\nfeature availability\n\nlog streaming is available on all enterprise plans.\n\nlog streaming allows you to send events from n8n to your own logging tools. this allows you to manage your n8n monitoring in your own alerting and logging processes.\n\n## set up log streaming\n\nto use log streaming, you have to add a streaming destination.\n\n1. navigate to **settings** > **log streaming**.\n1. select **add new destination**.\n1. choose your destination type. n8n opens the **new event destination** modal.\n1. in the **new event destination** modal, enter the configuration information for your event destination. these depend on the type of destination you're using.\n1. select **events** to choose which events to stream.\n1. select **save**.\n\nself-hosted users\n\nif you self-host n8n, you can configure additional log streaming behavior using [environment variables](../hosting/configuration/environment-variables/logs/#log-streaming).\n\n## events\n\nthe following events are available. you can choose which events to stream in **settings** > **log streaming** > **events**.\n\n- workflow\n - started\n - success\n - failed\n - cancelled\n- node executions\n - started\n - finished\n- audit\n - user login success\n - user login failed\n - user signed up\n - user updated\n - user deleted\n - user invited\n - user invitation accepted\n - user re-invited\n - user email failed\n - user reset requested\n - user reset\n - user credentials created\n - user credentials shared\n - user credentials updated\n - user credentials deleted\n - user api created\n - user api deleted\n - user mfa enabled\n - user mfa disabled\n - user execution deleted\n - execution data revealed\n - execution data reveal failed\n - package installed\n - package updated\n - package deleted\n - workflow created\n - workflow deleted\n - workflow updated\n - workflow archived\n - workflow unarchived\n - workflow activated\n - workflow deactivated\n - workflow version updated\n - workflow executed\n - workflow waiting\n - workflow resumed\n - variable created\n - variable updated\n - variable deleted\n - external secrets provider settings saved\n - external secrets provider reloaded\n - personal publishing restricted enabled\n - personal publishing restricted disabled\n - personal sharing restricted enabled\n - personal sharing restricted disabled\n - 2fa enforcement enabled\n - 2fa enforcement disabled\n- worker\n - started\n - stopped\n- ai node logs\n - memory get messages\n - memory added message\n - output parser parsed\n - retriever get relevant documents\n - embeddings embedded document\n - embeddings embedded query\n - document processed\n - text splitter split\n - tool called\n - vector store searched\n - llm generated\n - llm error\n - vector store populated\n - vector store updated\n- runner\n - task requested\n - response received\n- queue\n - job enqueued\n - job dequeued\n - job completed\n - job failed\n - job stalled\n\n## destinations\n\nn8n supports three destination types:\n\n- a syslog server\n- a generic webhook\n- a sentry client\n log streaming",
2501
+ "fullText": "log streaming # log streaming\n\nfeature availability\n\nlog streaming is available on all enterprise plans.\n\nlog streaming allows you to send events from n8n to your own logging tools. this allows you to manage your n8n monitoring in your own alerting and logging processes.\n\n## set up log streaming\n\nto use log streaming, you have to add a streaming destination.\n\n1. navigate to **settings** > **log streaming**.\n1. select **add new destination**.\n1. choose your destination type. n8n opens the **new event destination** modal.\n1. in the **new event destination** modal, enter the configuration information for your event destination. these depend on the type of destination you're using.\n1. select **events** to choose which events to stream.\n1. select **save**.\n\nself-hosted users\n\nif you self-host n8n, you can configure additional log streaming behavior using [environment variables](../hosting/configuration/environment-variables/logs/#log-streaming).\n\n## events\n\nthe following events are available. you can choose which events to stream in **settings** > **log streaming** > **events**.\n\n- workflow\n - started\n - success\n - failed\n - cancelled\n- node executions\n - started\n - finished\n- audit\n - user login success\n - user login failed\n - user signed up\n - user updated\n - user deleted\n - user invited\n - user invitation accepted\n - user re-invited\n - user email failed\n - user reset requested\n - user reset\n - user credentials created\n - user credentials shared\n - user credentials updated\n - user credentials deleted\n - user api created\n - user api deleted\n - user mfa enabled\n - user mfa disabled\n - user execution deleted\n - execution data revealed\n - execution data reveal failed\n - package installed\n - package updated\n - package deleted\n - workflow created\n - workflow deleted\n - workflow updated\n - workflow archived\n - workflow unarchived\n - workflow activated\n - workflow deactivated\n - workflow version updated\n - workflow executed\n - workflow waiting\n - workflow resumed\n - variable created\n - variable updated\n - variable deleted\n - external secrets provider settings saved\n - external secrets provider reloaded\n - external secrets connection created\n - external secrets connection updated\n - external secrets connection deleted\n - external secrets connection tested\n - external secrets connection reloaded\n - personal publishing restricted enabled\n - personal publishing restricted disabled\n - personal sharing restricted enabled\n - personal sharing restricted disabled\n - 2fa enforcement enabled\n - 2fa enforcement disabled\n - token exchange succeeded\n - token exchange failed\n - token exchange embed login\n - token exchange embed login failed\n - token exchange identity linked\n - token exchange user provisioned\n - token exchange role updated\n - role mapping roles resolved\n - role mapping rule created\n - role mapping rule updated\n - role mapping rule deleted\n - role mapping rules bulk deleted\n- worker\n - started\n - stopped\n- ai node logs\n - memory get messages\n - memory added message\n - output parser parsed\n - retriever get relevant documents\n - embeddings embedded document\n - embeddings embedded query\n - document processed\n - text splitter split\n - tool called\n - vector store searched\n - llm generated\n - llm error\n - vector store populated\n - vector store updated\n- runner\n - task requested\n - response received\n- queue\n - job enqueued\n - job dequeued\n - job completed\n - job failed\n - job stalled\n\n## destinations\n\nn8n supports three destination types:\n\n- a syslog server\n- a generic webhook\n- a sentry client\n log streaming",
2604
2502
  "importantTerms": [
2605
2503
  "user",
2606
2504
  "streaming",
2607
2505
  "workflow",
2608
- "destination",
2609
- "events",
2610
2506
  "updated",
2611
2507
  "deleted",
2612
- "your",
2508
+ "destination",
2509
+ "events",
2613
2510
  "failed",
2614
- "credentials",
2511
+ "external",
2512
+ "secrets",
2513
+ "token",
2514
+ "exchange",
2615
2515
  "created",
2516
+ "role",
2517
+ "your",
2518
+ "connection",
2519
+ "mapping",
2520
+ "login",
2521
+ "credentials",
2616
2522
  "enabled",
2617
2523
  "disabled",
2618
2524
  "personal",
@@ -2625,6 +2531,7 @@
2625
2531
  "execution",
2626
2532
  "package",
2627
2533
  "variable",
2534
+ "rule",
2628
2535
  "vector",
2629
2536
  "store"
2630
2537
  ]
@@ -2741,7 +2648,7 @@
2741
2648
  "nodeName": null,
2742
2649
  "nodeType": null,
2743
2650
  "content": {
2744
- "markdown": "# Release notes\n\nNew features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.18.5 Current `beta`: 2.19.1\n\n## How to update n8n\n\nThe steps to update your n8n depend on which n8n platform you use. Refer to the documentation for your n8n:\n\n- [Cloud](../manage-cloud/update-cloud-version/)\n- Self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [Docker](../hosting/installation/docker/)\n\n## Semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). All version numbers are in the format `MAJOR.MINOR.PATCH`. Version numbers increment as follows:\n\n- MAJOR version when making incompatible changes which can require user action.\n- MINOR version when adding functionality in a backward-compatible manner.\n- PATCH version when making backward-compatible bug fixes.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-04-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**Release date:** 2026-04-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes.\n\n### Contributors\n\n[abhishekDeshmukh74](https://github.com/abhishekDeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[MDub3y](https://github.com/MDub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[Vitalini](https://github.com/Vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[GauthierPLM](https://github.com/GauthierPLM)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**Release date:** 2026-04-30\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes and features.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**Release date:** 2026-04-21\n\nThis release contains bug fixes.\n\n### Contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**Release date:** 2026-04-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**Release date:** 2026-04-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.16.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains bug fixes.\n\n## n8n@2.16.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**Release date:** 2026-04-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.15.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**Release date:** 2026-03-30\n\nThis release contains bug fixes.\n\n### Contributors\n\n[manusjs](https://github.com/manusjs)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**Release date:** 2026-03-24\n\nThis release contains bug fixes.\n\n### Contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.3...n8n@2.13.4) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.13.3) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.1...n8n@2.13.2) for this version.\\\n**Release date:** 2026-03-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.0...n8n@2.13.1) for this version.\\\n**Release date:** 2026-03-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.13.0) for this version.\\\n**Release date:** 2026-03-16\n\nThis release contains bug fixes and features.\n\n### Visual diff comes to version history\n\nOpen version history, click **Compare changes**, pick any two versions, and the canvas renders both side by side with changed nodes highlighted. A change count badge on each version helps you spot significant edits at a glance.\n\nVisual diff is available on Cloud Pro and above.\n\n### Project-scoped external secrets: full team access (Enterprise)\n\nWhat's new:\n\n- Project admins manage their own vault connections from project settings.\n- Project editors can use project-scoped secrets in credentials once the instance admin enables access.\n- [Custom roles](../user-management/rbac/custom-roles/) now include five secrets scopes: list, read, create, update, and delete.\n- Instance admins/owners no longer need to be project members for secrets to resolve.\n\n**For instance admins:** go to **Settings > External Secrets** and enable the **System Roles** toggle, or use custom roles for more granular control.\n\n**For project admins:** go to **Project Settings > External Secrets** to create and manage project-level connections. Instance-level connections shared with you appear as read-only.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Folder-based filtering in the push and pull dialog (Enterprise)\n\nThe push and pull dialogs now include a **Folder** filter alongside Status and Owner. Selecting a folder scopes the list to workflows in that folder and its subfolders, shown as a hierarchical tree with folder-level checkboxes. Text search also matches folder names.\n\nFolder-based filtering is available on n8n Enterprise (requires [Environments](../source-control-environments/setup/) configured).\n\n### Contributors\n\n[tbigby-kristin](https://github.com/tbigby-kristin)\\\n[ajuijas](https://github.com/ajuijas)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mjain](https://github.com/mjain)\\\n[bram2w](https://github.com/bram2w)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.1...n8n@2.12.2) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.12.1) for this version.\\\n**Release date:** 2026-03-11\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.12.0) for this version.\\\n**Release date:** 2026-03-09\n\nThis release contains bug fixes and features.\n\n### 1Password is now available as an external secrets provider (Enterprise)\n\nn8n now supports 1Password Connect Server as an [external secrets](../external-secrets/) provider, alongside HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.\n\nSecrets are fetched at runtime and never stored in n8n: 1Password stays the single source of truth. Multi-field items are available as structured sub-paths: `$secrets.<vault>.<item>.<field>`.\n\n#### How to connect\n\n1. Deploy a 1Password Connect Server and create an access token scoped to the vaults n8n should read.\n1. In n8n, go to **Settings > External Secrets**, select **1Password**, and enter your Connect Server URL and token.\n\nRequires self-hosted 1Password Connect Server with read-only access. 1Password as an external secrets provider is available on n8n Enterprise.\n\n### Contributors\n\n`github-actions[bot]` [amenk](https://github.com/amenk)\\\n[bpk9](https://github.com/bpk9)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.3...n8n@2.11.4) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.2...n8n@2.11.3) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.1...n8n@2.11.2) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.11.1) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.11.0) for this version.\\\n**Release date:** 2026-03-02\n\nThis release contains bug fixes and features.\n\n### Easier credential setup on Cloud\n\nSetting up credentials on n8n Cloud is now much simpler. For supported services, just click the **Connect** button, authenticate with the service, and you're ready to go. Skip the manual setup for Slack, Firecrawl, HubSpot, GitHub, Google Calendar, PagerDuty, Apify, and more.\n\nSetting up Slack credentials with managed OAuth.\n\n#### Things to keep in mind\n\n- If you prefer to use your own OAuth configuration, you can still switch to manual setup from the auth mode dropdown at any time.\n- This feature is only available on n8n Cloud, where n8n manages the OAuth apps on your behalf.\n\n### Custom roles: Assignments tab (Enterprise)\n\nInstance admins now have a dedicated **Assignments** tab on each [custom role](../user-management/rbac/custom-roles/) showing every user assigned to that role, which project they're in, and a direct link to manage them — no more navigating project by project.\n\nCustom roles are available on n8n Enterprise.\n\n### Project-scoped external secrets: instance admin setup (Enterprise)\n\nInstance admins can now create vault connections scoped to a specific project. Secrets from that connection appear only within that project's credentials, not across the instance. Instance-level connections are unaffected.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Workflow execute as a separate permission scope (Enterprise)\n\n`workflow:execute` is now a distinct scope in [custom project roles](../user-management/rbac/custom-roles/), separate from editing and publishing. Users can be granted run access without being able to modify the workflow, which is a common compliance requirement for sensitive workflows.\n\nThis scope is available on n8n Enterprise.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM)\\\n[onyxraven](https://github.com/onyxraven)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.3...n8n@2.10.4) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.2...n8n@2.10.3) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.1...n8n@2.10.2) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.10.1) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.10.0) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes and features.\n\n### Multiple connections per external secrets provider\n\nYou can now set up more than one connection for a single [external secrets](../external-secrets/) provider. The updated UI makes it easier to configure and manage multiple connections under the same provider type.\n\n### Performance improvements for large workflow and credential volumes\n\nImproved the reliability of the workflows and credentials listing pages for large-scale instances, reducing loading times by 30% to 80%.\n\n### Contributors\n\n[peteawood](https://github.com/peteawood)\\\n[horiyee](https://github.com/horiyee)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.4) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.4...n8n@2.9.4-exp.0) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.2...n8n@2.9.3) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.3-exp.0) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.1...n8n@2.9.2) for this version.\\\n**Release date:** 2026-02-23\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.9.1) for this version.\\\n**Release date:** 2026-02-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.9.0) for this version.\\\n**Release date:** 2026-02-16\n\nThis release contains bug fixes.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM) [LudwigGerdes](https://github.com/LudwigGerdes)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.3...n8n@2.8.4) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.2...n8n@2.8.3) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix and features.\n\n### Personal space policies (Enterprise)\n\nA new **Security & policies** settings section provides a central place for enforcing security requirements on your instance. In addition to the existing two-factor authentication enforcement, admins can now control what users can do in their personal spaces.\n\nAvailable policies include:\n\n- **Sharing**: control whether users can share workflows and credentials from their personal space.\n- **Workflow publishing**: control whether users can publish workflows from their personal space.\n\nThis release builds on the recent updates to the permissions model, including [custom project roles](../user-management/rbac/custom-roles/), to better support policy-driven governance.\n\nPersonal space policies are available on n8n Enterprise.\n\nThe new Security & policies settings section.\n\n### Custom roles: improved discoverability and permission visibility (Enterprise)\n\nThe project role selector now separates built-in system roles and custom roles into distinct sections, making it easier to find and choose the right role. Hovering over a role shows a summary of its configured permissions, with an option to view the full permission details.\n\nSystem roles and custom roles are now displayed in separate sections.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.1...n8n@2.8.2) for this version.\\\n**Release date:** 2026-02-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.8.1) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.4...n8n@2.7.5) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.3...n8n@2.7.4) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.2...n8n@2.7.3) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.3...n8n@2.6.4) for this version.\\\n**Release date:** 2026-02-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.8.0) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes and features.\n\n### Stronger external secrets validation (Enterprise)\n\nn8n now verifies that the current user has access to the referenced vaults before allowing a credential that uses **$secrets...** expressions to be saved. If access is missing, the save operation fails. This prevents secret values from being exposed through guessed secret paths.\n\n### Improved API auditability (Enterprise)\n\nAPI endpoints have been expanded to provide clearer visibility into project membership and credentials:\n\n- `GET /projects/{projectId}/users` returns all members of a project including their assigned role.\n- `GET /credentials` returns a paginated list of all credentials across the instance, including the project they belong to.\n\nThis makes it easier to audit who has access to which projects and credentials without manually reviewing each one in the UI.\n\n### More granular workflow permissions\n\nWorkflow publishing permissions for [custom roles](../user-management/rbac/custom-roles/) have been split into two separate scopes: **workflow:publish** and **workflow:unpublish**. This enables more precise access control in governance scenarios where unpublishing needs to be managed independently.\n\n### Performance and stability improvements\n\n- Improved performance for instances with very large user counts, reducing slowdowns caused by user-related operations.\n- Fixed a high-memory issue that could cause crashes during Source Control push flows in large deployments with many workflows and credentials.\n\n### Minor fixes\n\n- Canvas: improved node repositioning on insertion to reduce overlaps and spacing issues.\n- Log streaming: fixed proxy configuration handling for webhook destinations so requests work reliably when a proxy is configured.\n\n### Deprecated nodes\n\n#### Motorhead node\n\nThe [Motorhead](../integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymotorhead/) memory node is now deprecated because the Motorhead project is no longer maintained. The node is hidden from the nodes panel for new selections, but existing workflows using this node will continue to work.\n\n### Contributors\n\n[AmitAnveri](https://github.com/AmitAnveri)\\\n[derandreas-dt](https://github.com/derandreas-dt)\\\n[ongdisheng](https://github.com/ongdisheng)\\\n[vCaisim](https://github.com/vCaisim)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.1...n8n@2.7.2) for this version.\\\n**Release date:** 2026-02-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.7.1) for this version.\\\n**Release date:** 2026-02-03\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.0...n8n@2.7.0) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[LostInBrittany](https://github.com/LostInBrittany)\\\n[adriencohen](https://github.com/adriencohen)\\\n[ibex088](https://github.com/ibex088)\\\n[rutgere-indeed](https://github.com/rutgere-indeed)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.7-exp.0) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.2...n8n@2.6.3) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.8) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.1...n8n@2.6.2) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.6...n8n@2.4.7) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.1...n8n@2.5.2) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.5...n8n@2.4.6) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.4...n8n@2.4.5) for this version.\\\n**Release date:** 2026-01-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.0...n8n@2.6.0) for this version.\\\n**Release date:** 2026-01-26\n\nThis release contains bug fixes.\n\n### Human-in-the-loop for AI tool calls\n\nYou can now require explicit human approval before an AI Agent executes specific tools.\n\nHuman-in-the-loop (HITL) for AI tool calls enforces review directly at the tool level. A gated tool cannot execute unless a human explicitly approves the action, giving you deterministic control over high-impact operations like deleting records, writing to production systems, or sending high-impact emails. This removes the uncertainty of prompt-based safeguards and insulates you from probabilistic agent behavior.\n\nBecause the review step is implemented using standard n8n integrations, approvals are not limited to a single user or interface. Decisions can be routed across people and systems, enforcing approval from the right person using the channels they already work in.\n\n#### What you can do\n\n- Require explicit human approval for any tool the agent can call, including the MCP Client tool or sub-workflows exposed as tools\n- Apply approval selectively, so some tools execute autonomously while others require review\n- Route approvals across users and channels (for example, send a Slack-initiated action for approval by another user via email)\n- Add safety checks for high-impact or potentially destructive operations without complex workflow patterns or brittle prompt logic.\n\n#### How to use it\n\nStart with a workflow where an AI Agent is connected to one or more tools.\n\n1. On the connection from the AI Agent to the tool you want to gate, click the **+** icon and choose **Add human review step** (hovering over the icon shows the tooltip).\n1. The **Tools panel** opens with nodes you can use to handle the review step. Select the one you want to use.\n1. Configure the approval step in the added node’s parameters. Depending on the integration, you can define the approver, the message they receive, the available actions (for example, approve or deny), and the associated buttons.\n\n[](/_video/release-notes/HITLToolCalls.webm)\n\nGet precise control over where human judgment is required, without limiting what your agent can do. Learn more [here](../advanced-ai/human-in-the-loop-tools/).\n\n### Contributors\n\n[ibex088](https://github.com/ibex088)\\\n[johnlinp](https://github.com/johnlinp)\\\n[loganaden](https://github.com/loganaden)\\\n[Jameswlepage](https://github.com/Jameswlepage)\\\n[cesars-gh](https://github.com/cesars-gh)\\\n[antman1p](https://github.com/antman1p)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.5.0) for this version.\\\n**Release date:** 2026-01-20\n\nThis release contains bug fixes.\n\n### Chat node: human-in-the-loop actions\n\nThe **Chat** node now includes two new Actions for human-in-the-loop interactions in agentic workflows:\n\n- **Send a message**: send a message to the user and continue the workflow\n- **Send a message and wait for response**: send a message and pause execution until the user replies. Users can respond with free text in the Chat or by clicking inline approval buttons, as defined in the node’s configuration.\n\nThese Actions can be used as deterministic workflow steps or as tools for an **AI Agent**, enabling multi-turn human interaction within a single execution when using the **Chat Trigger**.\n\nWhen used as an agent tool, the agent can ask for clarification before proceeding, helping it better interpret user intent and follow instructions. Agents can also send updates during long-running workflows using these Actions.\n\n#### How to\n\n1. Trigger your workflow with the **Chat Trigger** node. In the node parameters, add the *Response Mode* option and set it to *Using Response Nodes*.\n1. Add a **Chat** node later in the workflow, or add it as a tool for an **AI Agent**. Select one of the following operations: *Send a message* or *Send a message and wait for response*.\n\n#### Keep in mind\n\n- If you want an AI Agent to choose between sending a message or waiting for input, add two **Chat** tool nodes, one for each action.\n- For AI Agents triggered by the **Chat Trigger** node, adding **Send a message and wait for response** is recommended so the agent can request clarification when needed.\n\nLearn more in the [Chat node documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chat/#operation).\n\n[](/_video/release-notes/ChatHITL.webm)\n\n### Contributors\n\n[AbdulTawabJuly](https://github.com/AbdulTawabJuly)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[sudarshan12s](https://github.com/sudarshan12s)\\\n[KaanAydinli](https://github.com/KaanAydinli)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.2...n8n@2.4.3) for this version.\\\n**Release date:** 2026-01-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.5...n8n@2.3.6) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.3...n8n@2.4.4) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.4...n8n@2.3.5) for this version.\\\n**Release date:** 2026-01-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.4.1) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.1...n8n@2.3.2) for this version.\\\n**Release date:** 2026-01-09\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.4.0) for this version.\\\n**Release date:** 2026-01-12\n\nThis release contains bug fixes.\n\n### TLS support for Syslog log streaming\n\nThe Syslog log streaming destination now supports TLS over TCP for encrypted connections. This enables secure log streaming to enterprise SIEM and observability platforms that require encrypted transport. With this release, log streaming is now compatible with a broader range of enterprise SIEM platforms.\n\n### Update credentials via API\n\nn8n's public API now supports updating existing credentials by ID via a new *PATCH /credentials/:id* endpoint. Previously, credentials could only be created through the API so any changes required deleting and recreating the credential.\n\nWhen updating, you can either replace all credential data at once (useful for bulk updates) or set *isPartialData: true* to merge changes with existing data. Ideal for automated secret rotation or fixing individual values without losing your configuration.\n\n### Contributors\n\n[JonLaliberte](https://github.com/JonLaliberte)\\\n[davidpanic](https://github.com/davidpanic)\\\n[TomTom101](https://github.com/TomTom101)\\\n[garritfra](https://github.com/garritfra)\\\n[maximepvrt](https://github.com/maximepvrt)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.2...n8n@2.3.3) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.3...n8n@2.3.4) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.3.1) for this version.\\\n**Release date:** 2026-01-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.4...n8n@2.2.5) for this version.\\\n**Release date:** 2026-01-08\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.3...n8n@2.2.4) for this version.\\\n**Release date:** 2026-01-06\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.3.0) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains bug fixes.\n\n### Contributors\n\n[Shashwat-06](https://github.com/Shashwat-06)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mithredate](https://github.com/mithredate)\\\n[belyas](https://github.com/belyas)\\\n[saurabhssonkar](https://github.com/saurabhssonkar)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.2...n8n@2.2.3) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.1...n8n@2.2.2) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.4...n8n@2.1.5) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.3...n8n@2.1.4) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.2...n8n@2.1.3) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.2.1) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.2.0) for this version.\n\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\n### More granular workflow permissions within Custom Project Roles (Enterprise)\n\nCustom Project Roles allow you to define fine-grained permissions at the project level. With this release, workflow permissions have been further refined by separating workflow editing from workflow publishing.\n\nThis change makes it easier to align access controls with internal processes where building workflows and publishing them are handled by different users or teams.\n\nCustom Project Roles\n\n### Log streaming: More audit events for improved observability\n\nLog streaming now includes additional audit events to improve visibility into operational and security-relevant changes.\n\nThis update adds events for manual workflow cancellations and workflow activation/deactivation (publish/unpublish), variable lifecycle events (create/update/delete), and user management actions (including enabling/disabling 2FA).\n\nWorkflow settings updates are also logged with the specific parameters that changed (for example, selecting a new error workflow), instead of a generic “updated” event.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.1...n8n@2.1.2) for this version.\\\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.1.1) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.2...n8n@2.0.3) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.1.0) for this version.\\\n**Release date:** 2025-12-16\n\nThis release contains bug fixes and features.\n\n### **Time Saved node**\n\nPreviously, teams could only track a single fixed time saved value for each workflow regardless of which path an execution takes. The new Time Saved node enables more precise time savings calculations where different execution paths will save different amounts of time.\n\nWith this release you can now:\n\n- **Choose fixed value or dynamic time tracking**: Use fixed time saved for simple workflows, or use one or many time saved nodes to calculate savings dynamically based on the actual execution path taken\n- **Configure per-item calculations**: When using the Time Saved node, choose whether to calculate time saved once for all items or multiply by the number of items processed\n\nThe new Time Saved node provides increased accuracy for complex workflows where different execution paths save different amounts of time.\n\nn8n automatically totals the time from all Time Saved nodes executed during each workflow run and reports it within the insights dashboard.\n\n### Contributors\n\n[Akcthecoder200](https://github.com/Akcthecoder200)\\\n[rishiraj-58](https://github.com/rishiraj-58)\\\n[rlafferty](https://github.com/rlafferty)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.1...n8n@2.0.2) for this version.\\\n**Release date:** 2025-12-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.0.1) for this version.\\\n**Release date:** 2025-12-10\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0) for this version.\\\n**Release date:** 2025-12-05\n\n### Major Version Change\n\nn8n 2.0.0 is a hardening release, not a feature release. It strengthens n8n's position as an enterprise-grade platform with secure-by-default execution, removal of legacy options that caused edge-case bugs, and better performance under load. The goal is a more predictable foundation you can rely on for mission-critical workflows.\n\nThis release is currently in **beta**. There's no urgency to upgrade immediately — take time to review the breaking changes and assess your workflows using the migration tool before upgrading.\n\nFor the full story behind 2.0, read our [announcement blog post](https://blog.n8n.io/introducing-n8n-2-0/).\n\n### Breaking changes\n\nVersion 2.0 includes breaking changes across security defaults, data handling, and configuration. Key changes include:\n\n- Task runners enabled by default (Code node executions now run in isolated environments)\n- Environment variable access blocked from Code nodes by default\n- ExecuteCommand and LocalFileTrigger nodes disabled by default\n- In-memory binary data mode removed\n\nReview the complete list and migration guidance in the [v2.0 breaking changes docs.](https://docs.n8n.io/2-0-breaking-changes/)\n\n### Before you upgrade\n\nUse the **Migration Report** tool to identify workflow-level and instance-level issues that need attention before upgrading.\n\nSee the [v2.0 migration tool docs](https://docs.n8n.io/migration-tool-v2/) for details.\n\n### Product updates\n\n**Publish / Save workflow paradigm**\n\nn8n 2.0 introduces a safer approach to updating live workflows. The `Save` button now preserves your edits without changing production. A new `Publish` button lets you explicitly push changes live when ready. See [Publish workflows](https://docs.n8n.io/workflows/publish/) for details.\n\n**Canvas and navigation improvements**\n\nSubtle refinements to the workflow editor canvas and reorganized sidebar navigation.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0-rc.4) for this version.\\\n**Release date:** 2025-12-05\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.2...n8n@2.0.0-rc.3) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.1...n8n@2.0.0-rc.2) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.0...n8n@2.0.0-rc.1) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.122.0...n8n@2.0.0-rc.0) for this version.\\\n**Release date:** 2025-12-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[farzad528](https://github.com/farzad528)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n",
2651
+ "markdown": "# Release notes\n\nNew features and bug fixes for n8n.\n\nYou can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository.\n\nStable and Beta versions\n\nn8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\nCurrent `stable`: 2.18.5 Current `beta`: 2.19.1\n\n## How to update n8n\n\nThe steps to update your n8n depend on which n8n platform you use. Refer to the documentation for your n8n:\n\n- [Cloud](../manage-cloud/update-cloud-version/)\n- Self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [Docker](../hosting/installation/docker/)\n\n## Semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). All version numbers are in the format `MAJOR.MINOR.PATCH`. Version numbers increment as follows:\n\n- MAJOR version when making incompatible changes which can require user action.\n- MINOR version when adding functionality in a backward-compatible manner.\n- PATCH version when making backward-compatible bug fixes.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.20.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**Release date:** 2026-05-05\n\nThis release contains bug fixes.\n\n### Contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingZZ](https://github.com/haimingZZ)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[Omc12](https://github.com/Omc12)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**Release date:** 2026-04-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**Release date:** 2026-04-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.19.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes.\n\n### Contributors\n\n[abhishekDeshmukh74](https://github.com/abhishekDeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[MDub3y](https://github.com/MDub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[Vitalini](https://github.com/Vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[GauthierPLM](https://github.com/GauthierPLM)\\\n[Gulianrdgd](https://github.com/Gulianrdgd)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.6...n8n@2.18.7) for this version.\\\n**Release date:** 2026-05-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**Release date:** 2026-05-01\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**Release date:** 2026-04-28\n\nThis release contains bug fixes and features.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.18.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**Release date:** 2026-04-21\n\nThis release contains bug fixes.\n\n### Contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**Release date:** 2026-04-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**Release date:** 2026-04-24\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**Release date:** 2026-04-23\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**Release date:** 2026-04-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**Release date:** 2026-04-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**Release date:** 2026-04-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.17.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.16.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**Release date:** 2026-04-15\n\nThis release contains bug fixes.\n\n## n8n@2.16.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**Release date:** 2026-04-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.15.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**Release date:** 2026-03-30\n\nThis release contains bug fixes.\n\n### Contributors\n\n[manusjs](https://github.com/manusjs)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.14.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**Release date:** 2026-03-24\n\nThis release contains bug fixes.\n\n### Contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.3...n8n@2.13.4) for this version.\\\n**Release date:** 2026-03-26\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.13.3) for this version.\\\n**Release date:** 2026-03-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.1...n8n@2.13.2) for this version.\\\n**Release date:** 2026-03-20\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.0...n8n@2.13.1) for this version.\\\n**Release date:** 2026-03-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.13.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.13.0) for this version.\\\n**Release date:** 2026-03-16\n\nThis release contains bug fixes and features.\n\n### Visual diff comes to version history\n\nOpen version history, click **Compare changes**, pick any two versions, and the canvas renders both side by side with changed nodes highlighted. A change count badge on each version helps you spot significant edits at a glance.\n\nVisual diff is available on Cloud Pro and above.\n\n### Project-scoped external secrets: full team access (Enterprise)\n\nWhat's new:\n\n- Project admins manage their own vault connections from project settings.\n- Project editors can use project-scoped secrets in credentials once the instance admin enables access.\n- [Custom roles](../user-management/rbac/custom-roles/) now include five secrets scopes: list, read, create, update, and delete.\n- Instance admins/owners no longer need to be project members for secrets to resolve.\n\n**For instance admins:** go to **Settings > External Secrets** and enable the **System Roles** toggle, or use custom roles for more granular control.\n\n**For project admins:** go to **Project Settings > External Secrets** to create and manage project-level connections. Instance-level connections shared with you appear as read-only.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Folder-based filtering in the push and pull dialog (Enterprise)\n\nThe push and pull dialogs now include a **Folder** filter alongside Status and Owner. Selecting a folder scopes the list to workflows in that folder and its subfolders, shown as a hierarchical tree with folder-level checkboxes. Text search also matches folder names.\n\nFolder-based filtering is available on n8n Enterprise (requires [Environments](../source-control-environments/setup/) configured).\n\n### Contributors\n\n[tbigby-kristin](https://github.com/tbigby-kristin)\\\n[ajuijas](https://github.com/ajuijas)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mjain](https://github.com/mjain)\\\n[bram2w](https://github.com/bram2w)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.1...n8n@2.12.2) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.12.0...n8n@2.12.1) for this version.\\\n**Release date:** 2026-03-11\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.12.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.12.0) for this version.\\\n**Release date:** 2026-03-09\n\nThis release contains bug fixes and features.\n\n### 1Password is now available as an external secrets provider (Enterprise)\n\nn8n now supports 1Password Connect Server as an [external secrets](../external-secrets/) provider, alongside HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager.\n\nSecrets are fetched at runtime and never stored in n8n: 1Password stays the single source of truth. Multi-field items are available as structured sub-paths: `$secrets.<vault>.<item>.<field>`.\n\n#### How to connect\n\n1. Deploy a 1Password Connect Server and create an access token scoped to the vaults n8n should read.\n1. In n8n, go to **Settings > External Secrets**, select **1Password**, and enter your Connect Server URL and token.\n\nRequires self-hosted 1Password Connect Server with read-only access. 1Password as an external secrets provider is available on n8n Enterprise.\n\n### Contributors\n\n`github-actions[bot]` [amenk](https://github.com/amenk)\\\n[bpk9](https://github.com/bpk9)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.3...n8n@2.11.4) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.2...n8n@2.11.3) for this version.\\\n**Release date:** 2026-03-13\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.1...n8n@2.11.2) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.11.0...n8n@2.11.1) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.11.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.11.0) for this version.\\\n**Release date:** 2026-03-02\n\nThis release contains bug fixes and features.\n\n### Easier credential setup on Cloud\n\nSetting up credentials on n8n Cloud is now much simpler. For supported services, just click the **Connect** button, authenticate with the service, and you're ready to go. Skip the manual setup for Slack, Firecrawl, HubSpot, GitHub, Google Calendar, PagerDuty, Apify, and more.\n\nSetting up Slack credentials with managed OAuth.\n\n#### Things to keep in mind\n\n- If you prefer to use your own OAuth configuration, you can still switch to manual setup from the auth mode dropdown at any time.\n- This feature is only available on n8n Cloud, where n8n manages the OAuth apps on your behalf.\n\n### Custom roles: Assignments tab (Enterprise)\n\nInstance admins now have a dedicated **Assignments** tab on each [custom role](../user-management/rbac/custom-roles/) showing every user assigned to that role, which project they're in, and a direct link to manage them — no more navigating project by project.\n\nCustom roles are available on n8n Enterprise.\n\n### Project-scoped external secrets: instance admin setup (Enterprise)\n\nInstance admins can now create vault connections scoped to a specific project. Secrets from that connection appear only within that project's credentials, not across the instance. Instance-level connections are unaffected.\n\nRefer to [External secrets](../external-secrets/) for more information. Project-scoped external secrets are available on n8n Enterprise.\n\n### Workflow execute as a separate permission scope (Enterprise)\n\n`workflow:execute` is now a distinct scope in [custom project roles](../user-management/rbac/custom-roles/), separate from editing and publishing. Users can be granted run access without being able to modify the workflow, which is a common compliance requirement for sensitive workflows.\n\nThis scope is available on n8n Enterprise.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM)\\\n[onyxraven](https://github.com/onyxraven)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.3...n8n@2.10.4) for this version.\\\n**Release date:** 2026-03-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.2...n8n@2.10.3) for this version.\\\n**Release date:** 2026-03-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.1...n8n@2.10.2) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.10.0...n8n@2.10.1) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.10.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.10.0) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes and features.\n\n### Multiple connections per external secrets provider\n\nYou can now set up more than one connection for a single [external secrets](../external-secrets/) provider. The updated UI makes it easier to configure and manage multiple connections under the same provider type.\n\n### Performance improvements for large workflow and credential volumes\n\nImproved the reliability of the workflows and credentials listing pages for large-scale instances, reducing loading times by 30% to 80%.\n\n### Contributors\n\n[peteawood](https://github.com/peteawood)\\\n[horiyee](https://github.com/horiyee)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.4) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.4-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.4...n8n@2.9.4-exp.0) for this version.\\\n**Release date:** 2026-02-27\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.2...n8n@2.9.3) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.3-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.3...n8n@2.9.3-exp.0) for this version.\\\n**Release date:** 2026-02-25\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.1...n8n@2.9.2) for this version.\\\n**Release date:** 2026-02-23\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.9.0...n8n@2.9.1) for this version.\\\n**Release date:** 2026-02-18\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.9.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.9.0) for this version.\\\n**Release date:** 2026-02-16\n\nThis release contains bug fixes.\n\n### Contributors\n\n[ByteEVM](https://github.com/ByteEVM) [LudwigGerdes](https://github.com/LudwigGerdes)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.3...n8n@2.8.4) for this version.\\\n**Release date:** 2026-02-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.2...n8n@2.8.3) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix and features.\n\n### Personal space policies (Enterprise)\n\nA new **Security & policies** settings section provides a central place for enforcing security requirements on your instance. In addition to the existing two-factor authentication enforcement, admins can now control what users can do in their personal spaces.\n\nAvailable policies include:\n\n- **Sharing**: control whether users can share workflows and credentials from their personal space.\n- **Workflow publishing**: control whether users can publish workflows from their personal space.\n\nThis release builds on the recent updates to the permissions model, including [custom project roles](../user-management/rbac/custom-roles/), to better support policy-driven governance.\n\nPersonal space policies are available on n8n Enterprise.\n\nThe new Security & policies settings section.\n\n### Custom roles: improved discoverability and permission visibility (Enterprise)\n\nThe project role selector now separates built-in system roles and custom roles into distinct sections, making it easier to find and choose the right role. Hovering over a role shows a summary of its configured permissions, with an option to view the full permission details.\n\nSystem roles and custom roles are now displayed in separate sections.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.1...n8n@2.8.2) for this version.\\\n**Release date:** 2026-02-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.8.0...n8n@2.8.1) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.4...n8n@2.7.5) for this version.\\\n**Release date:** 2026-02-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.3...n8n@2.7.4) for this version.\\\n**Release date:** 2026-02-11\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.2...n8n@2.7.3) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.3...n8n@2.6.4) for this version.\\\n**Release date:** 2026-02-06\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.8.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.8.0) for this version.\\\n**Release date:** 2026-02-09\n\nThis release contains bug fixes and features.\n\n### Stronger external secrets validation (Enterprise)\n\nn8n now verifies that the current user has access to the referenced vaults before allowing a credential that uses **$secrets...** expressions to be saved. If access is missing, the save operation fails. This prevents secret values from being exposed through guessed secret paths.\n\n### Improved API auditability (Enterprise)\n\nAPI endpoints have been expanded to provide clearer visibility into project membership and credentials:\n\n- `GET /projects/{projectId}/users` returns all members of a project including their assigned role.\n- `GET /credentials` returns a paginated list of all credentials across the instance, including the project they belong to.\n\nThis makes it easier to audit who has access to which projects and credentials without manually reviewing each one in the UI.\n\n### More granular workflow permissions\n\nWorkflow publishing permissions for [custom roles](../user-management/rbac/custom-roles/) have been split into two separate scopes: **workflow:publish** and **workflow:unpublish**. This enables more precise access control in governance scenarios where unpublishing needs to be managed independently.\n\n### Performance and stability improvements\n\n- Improved performance for instances with very large user counts, reducing slowdowns caused by user-related operations.\n- Fixed a high-memory issue that could cause crashes during Source Control push flows in large deployments with many workflows and credentials.\n\n### Minor fixes\n\n- Canvas: improved node repositioning on insertion to reduce overlaps and spacing issues.\n- Log streaming: fixed proxy configuration handling for webhook destinations so requests work reliably when a proxy is configured.\n\n### Deprecated nodes\n\n#### Motorhead node\n\nThe [Motorhead](../integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorymotorhead/) memory node is now deprecated because the Motorhead project is no longer maintained. The node is hidden from the nodes panel for new selections, but existing workflows using this node will continue to work.\n\n### Contributors\n\n[AmitAnveri](https://github.com/AmitAnveri)\\\n[derandreas-dt](https://github.com/derandreas-dt)\\\n[ongdisheng](https://github.com/ongdisheng)\\\n[vCaisim](https://github.com/vCaisim)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.1...n8n@2.7.2) for this version.\\\n**Release date:** 2026-02-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.7.1) for this version.\\\n**Release date:** 2026-02-03\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.7.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.0...n8n@2.7.0) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[LostInBrittany](https://github.com/LostInBrittany)\\\n[adriencohen](https://github.com/adriencohen)\\\n[ibex088](https://github.com/ibex088)\\\n[rutgere-indeed](https://github.com/rutgere-indeed)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7-exp.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.7-exp.0) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.2...n8n@2.6.3) for this version.\\\n**Release date:** 2026-02-02\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.8\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.7...n8n@2.4.8) for this version.\\\n**Release date:** 2026-01-29\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.6.1...n8n@2.6.2) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.7\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.6...n8n@2.4.7) for this version.\\\n**Release date:** 2026-01-28\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.1...n8n@2.5.2) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.5...n8n@2.4.6) for this version.\\\n**Release date:** 2026-01-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.4...n8n@2.4.5) for this version.\\\n**Release date:** 2026-01-22\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.6.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.5.0...n8n@2.6.0) for this version.\\\n**Release date:** 2026-01-26\n\nThis release contains bug fixes.\n\n### Human-in-the-loop for AI tool calls\n\nYou can now require explicit human approval before an AI Agent executes specific tools.\n\nHuman-in-the-loop (HITL) for AI tool calls enforces review directly at the tool level. A gated tool cannot execute unless a human explicitly approves the action, giving you deterministic control over high-impact operations like deleting records, writing to production systems, or sending high-impact emails. This removes the uncertainty of prompt-based safeguards and insulates you from probabilistic agent behavior.\n\nBecause the review step is implemented using standard n8n integrations, approvals are not limited to a single user or interface. Decisions can be routed across people and systems, enforcing approval from the right person using the channels they already work in.\n\n#### What you can do\n\n- Require explicit human approval for any tool the agent can call, including the MCP Client tool or sub-workflows exposed as tools\n- Apply approval selectively, so some tools execute autonomously while others require review\n- Route approvals across users and channels (for example, send a Slack-initiated action for approval by another user via email)\n- Add safety checks for high-impact or potentially destructive operations without complex workflow patterns or brittle prompt logic.\n\n#### How to use it\n\nStart with a workflow where an AI Agent is connected to one or more tools.\n\n1. On the connection from the AI Agent to the tool you want to gate, click the **+** icon and choose **Add human review step** (hovering over the icon shows the tooltip).\n1. The **Tools panel** opens with nodes you can use to handle the review step. Select the one you want to use.\n1. Configure the approval step in the added node’s parameters. Depending on the integration, you can define the approver, the message they receive, the available actions (for example, approve or deny), and the associated buttons.\n\n[](/_video/release-notes/HITLToolCalls.webm)\n\nGet precise control over where human judgment is required, without limiting what your agent can do. Learn more [here](../advanced-ai/human-in-the-loop-tools/).\n\n### Contributors\n\n[ibex088](https://github.com/ibex088)\\\n[johnlinp](https://github.com/johnlinp)\\\n[loganaden](https://github.com/loganaden)\\\n[Jameswlepage](https://github.com/Jameswlepage)\\\n[cesars-gh](https://github.com/cesars-gh)\\\n[antman1p](https://github.com/antman1p)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.5.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.5.0) for this version.\\\n**Release date:** 2026-01-20\n\nThis release contains bug fixes.\n\n### Chat node: human-in-the-loop actions\n\nThe **Chat** node now includes two new Actions for human-in-the-loop interactions in agentic workflows:\n\n- **Send a message**: send a message to the user and continue the workflow\n- **Send a message and wait for response**: send a message and pause execution until the user replies. Users can respond with free text in the Chat or by clicking inline approval buttons, as defined in the node’s configuration.\n\nThese Actions can be used as deterministic workflow steps or as tools for an **AI Agent**, enabling multi-turn human interaction within a single execution when using the **Chat Trigger**.\n\nWhen used as an agent tool, the agent can ask for clarification before proceeding, helping it better interpret user intent and follow instructions. Agents can also send updates during long-running workflows using these Actions.\n\n#### How to\n\n1. Trigger your workflow with the **Chat Trigger** node. In the node parameters, add the *Response Mode* option and set it to *Using Response Nodes*.\n1. Add a **Chat** node later in the workflow, or add it as a tool for an **AI Agent**. Select one of the following operations: *Send a message* or *Send a message and wait for response*.\n\n#### Keep in mind\n\n- If you want an AI Agent to choose between sending a message or waiting for input, add two **Chat** tool nodes, one for each action.\n- For AI Agents triggered by the **Chat Trigger** node, adding **Send a message and wait for response** is recommended so the agent can request clarification when needed.\n\nLearn more in the [Chat node documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chat/#operation).\n\n[](/_video/release-notes/ChatHITL.webm)\n\n### Contributors\n\n[AbdulTawabJuly](https://github.com/AbdulTawabJuly)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[sudarshan12s](https://github.com/sudarshan12s)\\\n[KaanAydinli](https://github.com/KaanAydinli)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.2...n8n@2.4.3) for this version.\\\n**Release date:** 2026-01-15\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.6\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.5...n8n@2.3.6) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.3...n8n@2.4.4) for this version.\\\n**Release date:** 2026-01-16\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.4...n8n@2.3.5) for this version.\\\n**Release date:** 2026-01-14\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.4.0...n8n@2.4.1) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.1...n8n@2.3.2) for this version.\\\n**Release date:** 2026-01-09\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.4.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.4.0) for this version.\\\n**Release date:** 2026-01-12\n\nThis release contains bug fixes.\n\n### TLS support for Syslog log streaming\n\nThe Syslog log streaming destination now supports TLS over TCP for encrypted connections. This enables secure log streaming to enterprise SIEM and observability platforms that require encrypted transport. With this release, log streaming is now compatible with a broader range of enterprise SIEM platforms.\n\n### Update credentials via API\n\nn8n's public API now supports updating existing credentials by ID via a new *PATCH /credentials/:id* endpoint. Previously, credentials could only be created through the API so any changes required deleting and recreating the credential.\n\nWhen updating, you can either replace all credential data at once (useful for bulk updates) or set *isPartialData: true* to merge changes with existing data. Ideal for automated secret rotation or fixing individual values without losing your configuration.\n\n### Contributors\n\n[JonLaliberte](https://github.com/JonLaliberte)\\\n[davidpanic](https://github.com/davidpanic)\\\n[TomTom101](https://github.com/TomTom101)\\\n[garritfra](https://github.com/garritfra)\\\n[maximepvrt](https://github.com/maximepvrt)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.2...n8n@2.3.3) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.3...n8n@2.3.4) for this version.\\\n**Release date:** 2026-01-13\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.3.0...n8n@2.3.1) for this version.\\\n**Release date:** 2026-01-07\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.4...n8n@2.2.5) for this version.\\\n**Release date:** 2026-01-08\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.3...n8n@2.2.4) for this version.\\\n**Release date:** 2026-01-06\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.3.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.3.0) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains bug fixes.\n\n### Contributors\n\n[Shashwat-06](https://github.com/Shashwat-06)\\\n[ByteEVM](https://github.com/ByteEVM)\\\n[mithredate](https://github.com/mithredate)\\\n[belyas](https://github.com/belyas)\\\n[saurabhssonkar](https://github.com/saurabhssonkar)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.2...n8n@2.2.3) for this version.\\\n**Release date:** 2026-01-05\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.1...n8n@2.2.2) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.5\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.4...n8n@2.1.5) for this version.\\\n**Release date:** 2025-12-30\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.3...n8n@2.1.4) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.2...n8n@2.1.3) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.2.0...n8n@2.2.1) for this version.\\\n**Release date:** 2025-12-23\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.2.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.2.0) for this version.\n\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\n### More granular workflow permissions within Custom Project Roles (Enterprise)\n\nCustom Project Roles allow you to define fine-grained permissions at the project level. With this release, workflow permissions have been further refined by separating workflow editing from workflow publishing.\n\nThis change makes it easier to align access controls with internal processes where building workflows and publishing them are handled by different users or teams.\n\nCustom Project Roles\n\n### Log streaming: More audit events for improved observability\n\nLog streaming now includes additional audit events to improve visibility into operational and security-relevant changes.\n\nThis update adds events for manual workflow cancellations and workflow activation/deactivation (publish/unpublish), variable lifecycle events (create/update/delete), and user management actions (including enabling/disabling 2FA).\n\nWorkflow settings updates are also logged with the specific parameters that changed (for example, selecting a new error workflow), instead of a generic “updated” event.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.1...n8n@2.1.2) for this version.\\\n**Release date:** 2025-12-22\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.1.0...n8n@2.1.1) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.2...n8n@2.0.3) for this version.\\\n**Release date:** 2025-12-17\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.1.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.1.0) for this version.\\\n**Release date:** 2025-12-16\n\nThis release contains bug fixes and features.\n\n### **Time Saved node**\n\nPreviously, teams could only track a single fixed time saved value for each workflow regardless of which path an execution takes. The new Time Saved node enables more precise time savings calculations where different execution paths will save different amounts of time.\n\nWith this release you can now:\n\n- **Choose fixed value or dynamic time tracking**: Use fixed time saved for simple workflows, or use one or many time saved nodes to calculate savings dynamically based on the actual execution path taken\n- **Configure per-item calculations**: When using the Time Saved node, choose whether to calculate time saved once for all items or multiply by the number of items processed\n\nThe new Time Saved node provides increased accuracy for complex workflows where different execution paths save different amounts of time.\n\nn8n automatically totals the time from all Time Saved nodes executed during each workflow run and reports it within the insights dashboard.\n\n### Contributors\n\n[Akcthecoder200](https://github.com/Akcthecoder200)\\\n[rishiraj-58](https://github.com/rishiraj-58)\\\n[rlafferty](https://github.com/rlafferty)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.1...n8n@2.0.2) for this version.\\\n**Release date:** 2025-12-12\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0...n8n@2.0.1) for this version.\\\n**Release date:** 2025-12-10\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0) for this version.\\\n**Release date:** 2025-12-05\n\n### Major Version Change\n\nn8n 2.0.0 is a hardening release, not a feature release. It strengthens n8n's position as an enterprise-grade platform with secure-by-default execution, removal of legacy options that caused edge-case bugs, and better performance under load. The goal is a more predictable foundation you can rely on for mission-critical workflows.\n\nThis release is currently in **beta**. There's no urgency to upgrade immediately — take time to review the breaking changes and assess your workflows using the migration tool before upgrading.\n\nFor the full story behind 2.0, read our [announcement blog post](https://blog.n8n.io/introducing-n8n-2-0/).\n\n### Breaking changes\n\nVersion 2.0 includes breaking changes across security defaults, data handling, and configuration. Key changes include:\n\n- Task runners enabled by default (Code node executions now run in isolated environments)\n- Environment variable access blocked from Code nodes by default\n- ExecuteCommand and LocalFileTrigger nodes disabled by default\n- In-memory binary data mode removed\n\nReview the complete list and migration guidance in the [v2.0 breaking changes docs.](https://docs.n8n.io/2-0-breaking-changes/)\n\n### Before you upgrade\n\nUse the **Migration Report** tool to identify workflow-level and instance-level issues that need attention before upgrading.\n\nSee the [v2.0 migration tool docs](https://docs.n8n.io/migration-tool-v2/) for details.\n\n### Product updates\n\n**Publish / Save workflow paradigm**\n\nn8n 2.0 introduces a safer approach to updating live workflows. The `Save` button now preserves your edits without changing production. A new `Publish` button lets you explicitly push changes live when ready. See [Publish workflows](https://docs.n8n.io/workflows/publish/) for details.\n\n**Canvas and navigation improvements**\n\nSubtle refinements to the workflow editor canvas and reorganized sidebar navigation.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.4\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.3...n8n@2.0.0-rc.4) for this version.\\\n**Release date:** 2025-12-05\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.3\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.2...n8n@2.0.0-rc.3) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.2\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.1...n8n@2.0.0-rc.2) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains a bug fix.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.1\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.0.0-rc.0...n8n@2.0.0-rc.1) for this version.\\\n**Release date:** 2025-12-04\n\nThis release contains bug fixes.\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\n## n8n@2.0.0-rc.0\n\nView the [commits](https://github.com/n8n-io/n8n/compare/n8n@1.122.0...n8n@2.0.0-rc.0) for this version.\\\n**Release date:** 2025-12-02\n\nThis release contains bug fixes.\n\n### Contributors\n\n[farzad528](https://github.com/farzad528)\n\nFor full release details, refer to [Releases](https://github.com/n8n-io/n8n/releases) on GitHub.\n\nOlder versions\n\nYou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n",
2745
2652
  "excerpt": "# Release notes New features and bug fixes for n8n. You can also view the [Releases](https://github.com/n8n-io/n8n/releases) in the GitHub repository. Stable and Beta versions n8n releases a new minor version most weeks. The `stable` version is for production use. `beta` is the most recent release. The `beta` version may be unstable. To report issues, use the [forum](https://community.n8n.io/c/questions/12). Current `stable`: 2.18.5 Current `beta`: 2.19.1 ## How to update n8n The steps to...",
2746
2653
  "sections": [
2747
2654
  {
@@ -2865,11 +2772,11 @@
2865
2772
  "codeExamples": 0,
2866
2773
  "complexity": "intermediate",
2867
2774
  "readingTime": "27 min",
2868
- "contentLength": 49999,
2775
+ "contentLength": 51179,
2869
2776
  "relatedPages": []
2870
2777
  },
2871
2778
  "searchIndex": {
2872
- "fullText": "2.x # release notes\n\nnew features and bug fixes for n8n.\n\nyou can also view the [releases](https://github.com/n8n-io/n8n/releases) in the github repository.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.18.5 current `beta`: 2.19.1\n\n## how to update n8n\n\nthe steps to update your n8n depend on which n8n platform you use. refer to the documentation for your n8n:\n\n- [cloud](../manage-cloud/update-cloud-version/)\n- self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [docker](../hosting/installation/docker/)\n\n## semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). all version numbers are in the format `major.minor.patch`. version numbers increment as follows:\n\n- major version when making incompatible changes which can require user action.\n- minor version when adding functionality in a backward-compatible manner.\n- patch version when making backward-compatible bug fixes.\n\nolder versions\n\nyou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.19.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**release date:** 2026-04-30\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**release date:** 2026-04-29\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**release date:** 2026-04-28\n\nthis release contains bug fixes.\n\n### contributors\n\n[abhishekdeshmukh74](https://github.com/abhishekdeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[mdub3y](https://github.com/mdub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[vitalini](https://github.com/vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[gauthierplm](https://github.com/gauthierplm)\\\n[gulianrdgd](https://github.com/gulianrdgd)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**release date:** 2026-04-30\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**release date:** 2026-04-28\n\nthis release contains bug fixes and features.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**release date:** 2026-04-27\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**release date:** 2026-04-24\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**release date:** 2026-04-23\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**release date:** 2026-04-21\n\nthis release contains bug fixes.\n\n### contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.8\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**release date:** 2026-04-27\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.7\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**release date:** 2026-04-24\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**release date:** 2026-04-23\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**release date:** 2026-04-20\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**release date:** 2026-04-16\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**release date:** 2026-04-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.16.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**release date:** 2026-04-15\n\nthis release contains bug fixes.\n\n## n8n@2.16.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**release date:** 2026-04-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.15.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**release date:** 2026-03-30\n\nthis release contains bug fixes.\n\n### contributors\n\n[manusjs](https://github.com/manusjs)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**release date:** 2026-03-26\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**release date:** 2026-03-25\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**release date:** 2026-03-24\n\nthis release contains bug fixes.\n\n### contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.13.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.3...n8n@2.13.4) for this version.\\\n**release date:** 2026-03-26\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.13.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.13.3) for this version.\\\n**release date:** 2026-03-25\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.13.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.1...n8n@2.13.2) for this version.\\\n**release date:** 2026-03-20\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.13.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.0...n8n@2.13.1) for this version.\\\n**release date:** 2026-03-18\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.13.0\n\nview th",
2779
+ "fullText": "2.x # release notes\n\nnew features and bug fixes for n8n.\n\nyou can also view the [releases](https://github.com/n8n-io/n8n/releases) in the github repository.\n\nstable and beta versions\n\nn8n releases a new minor version most weeks. the `stable` version is for production use. `beta` is the most recent release. the `beta` version may be unstable. to report issues, use the [forum](https://community.n8n.io/c/questions/12).\n\ncurrent `stable`: 2.18.5 current `beta`: 2.19.1\n\n## how to update n8n\n\nthe steps to update your n8n depend on which n8n platform you use. refer to the documentation for your n8n:\n\n- [cloud](../manage-cloud/update-cloud-version/)\n- self-hosted options:\n - [npm](../hosting/installation/npm/)\n - [docker](../hosting/installation/docker/)\n\n## semantic versioning in n8n\n\nn8n uses [semantic versioning](https://semver.org/). all version numbers are in the format `major.minor.patch`. version numbers increment as follows:\n\n- major version when making incompatible changes which can require user action.\n- minor version when adding functionality in a backward-compatible manner.\n- patch version when making backward-compatible bug fixes.\n\nolder versions\n\nyou can find the release notes for older versions of n8n: [1.x](1-x/) and [0.x](0-x/)\n\n## n8n@2.20.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.20.0) for this version.\\\n**release date:** 2026-05-05\n\nthis release contains bug fixes.\n\n### contributors\n\n[jjnyn](https://github.com/jjnyn)\\\n[haimingzz](https://github.com/haimingzz)\\\n[majiayu000](https://github.com/majiayu000)\\\n[moseoh](https://github.com/moseoh)\\\n[omc12](https://github.com/omc12)\\\n[gulianrdgd](https://github.com/gulianrdgd)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[uppinote20](https://github.com/uppinote20)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**release date:** 2026-05-01\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.1...n8n@2.19.2) for this version.\\\n**release date:** 2026-04-30\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.19.0...n8n@2.19.1) for this version.\\\n**release date:** 2026-04-29\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.19.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.19.0) for this version.\\\n**release date:** 2026-04-28\n\nthis release contains bug fixes.\n\n### contributors\n\n[abhishekdeshmukh74](https://github.com/abhishekdeshmukh74)\\\n[jeanibarz](https://github.com/jeanibarz)\\\n[yetval](https://github.com/yetval)\\\n[corazzione](https://github.com/corazzione)\\\n[kuishou68](https://github.com/kuishou68)\\\n[mdub3y](https://github.com/mdub3y)\\\n[aikido-autofix[bot]](https://github.com/apps/aikido-autofix)\\\n[vitalini](https://github.com/vitalini)\\\n[sinehypernova-0718](https://github.com/sinehypernova-0718)\\\n[nihaals](https://github.com/nihaals)\\\n[yuniq-neko](https://github.com/yuniq-neko)\\\n[patdt](https://github.com/patdt)\\\n[pedrodicati](https://github.com/pedrodicati)\\\n[gauthierplm](https://github.com/gauthierplm)\\\n[gulianrdgd](https://github.com/gulianrdgd)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.7\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.6...n8n@2.18.7) for this version.\\\n**release date:** 2026-05-04\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.5...n8n@2.18.6) for this version.\\\n**release date:** 2026-05-01\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.4...n8n@2.18.5) for this version.\\\n**release date:** 2026-04-28\n\nthis release contains bug fixes and features.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.3...n8n@2.18.4) for this version.\\\n**release date:** 2026-04-27\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.2...n8n@2.18.3) for this version.\\\n**release date:** 2026-04-24\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.1...n8n@2.18.2) for this version.\\\n**release date:** 2026-04-23\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.18.0...n8n@2.18.1) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.18.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.18.0) for this version.\\\n**release date:** 2026-04-21\n\nthis release contains bug fixes.\n\n### contributors\n\n[jcampbell](https://github.com/jcampbell)\\\n[robrown-hubspot](https://github.com/robrown-hubspot)\\\n[rahulps1000](https://github.com/rahulps1000)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.8\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.7...n8n@2.17.8) for this version.\\\n**release date:** 2026-04-27\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.7\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.6...n8n@2.17.7) for this version.\\\n**release date:** 2026-04-24\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.6\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.5...n8n@2.17.6) for this version.\\\n**release date:** 2026-04-23\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.5\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.4...n8n@2.17.5) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.4\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.3...n8n@2.17.4) for this version.\\\n**release date:** 2026-04-22\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.3\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.2...n8n@2.17.3) for this version.\\\n**release date:** 2026-04-20\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.1...n8n@2.17.2) for this version.\\\n**release date:** 2026-04-16\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.17.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.17.0...n8n@2.17.1) for this version.\\\n**release date:** 2026-04-15\n\nthis release contains a bug fix.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.16.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.16.0...n8n@2.16.1) for this version.\\\n**release date:** 2026-04-15\n\nthis release contains bug fixes.\n\n## n8n@2.16.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.15.0...n8n@2.16.0) for this version.\\\n**release date:** 2026-04-07\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.15.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.15.0) for this version.\\\n**release date:** 2026-03-30\n\nthis release contains bug fixes.\n\n### contributors\n\n[manusjs](https://github.com/manusjs)\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.2\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.1...n8n@2.14.2) for this version.\\\n**release date:** 2026-03-26\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.1\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.14.0...n8n@2.14.1) for this version.\\\n**release date:** 2026-03-25\n\nthis release contains bug fixes.\n\nfor full release details, refer to [releases](https://github.com/n8n-io/n8n/releases) on github.\n\n## n8n@2.14.0\n\nview the [commits](https://github.com/n8n-io/n8n/compare/n8n@2.13.2...n8n@2.14.0) for this version.\\\n**release date:** 2026-03-24\n\nthis release contains bug fixes.\n\n### contributors\n\n[pkaya89](https://github.com/pkaya89)\\\n[kesku](https://github.com/kesku)\n\nfor full release details, refer to [releases](https:",
2873
2780
  "importantTerms": [
2874
2781
  "github",
2875
2782
  "release",
@@ -2895,8 +2802,8 @@
2895
2802
  "external",
2896
2803
  "custom",
2897
2804
  "node",
2898
- "workflows",
2899
2805
  "contributors",
2806
+ "workflows",
2900
2807
  "user",
2901
2808
  "time",
2902
2809
  "nodes",
@@ -31652,7 +31559,7 @@
31652
31559
  "nodeName": "npm",
31653
31560
  "nodeType": "n8n-nodes-base.npm",
31654
31561
  "content": {
31655
- "markdown": "# npm node\n\nUse the npm node to automate work in npm, and integrate npm with other applications.\n\nOn this page, you'll find a list of operations the npm node supports and links to more resources.\n\nCredentials\n\nRefer to [npm credentials](../../credentials/npm/) for guidance on setting up authentication.\n\n## Operations\n\n- Package\n - Get Package Metadata\n - Get Package Versions\n - Search for Packages\n- Distribution Tag\n - Get All Tags\n - Update a Tag\n\n## Templates and examples\n\n**Automate NPM Package Installation and Updates for Self-Hosted Environments**\n\nby Joachim Brindeau\n\n[View template details](https://n8n.io/workflows/3293-automate-npm-package-installation-and-updates-for-self-hosted-environments/)\n\n**🛠️ Npm Tool MCP Server 💪 all 5 operations**\n\nby David Ashby\n\n[View template details](https://n8n.io/workflows/5341-npm-tool-mcp-server-all-5-operations/)\n\n**AI-Powered NPM Package Intelligence Agent**\n\nby Divyanshu Gupta\n\n[View template details](https://n8n.io/workflows/15407-ai-powered-npm-package-intelligence-agent/)\n\n[Browse npm integration templates](https://n8n.io/integrations/npm/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [npm's documentation](https://docs.npmjs.com/) for more information about the service.\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n",
31562
+ "markdown": "# npm node\n\nUse the npm node to automate work in npm, and integrate npm with other applications.\n\nOn this page, you'll find a list of operations the npm node supports and links to more resources.\n\nCredentials\n\nRefer to [npm credentials](../../credentials/npm/) for guidance on setting up authentication.\n\n## Operations\n\n- Package\n - Get Package Metadata\n - Get Package Versions\n - Search for Packages\n- Distribution Tag\n - Get All Tags\n - Update a Tag\n\n## Templates and examples\n\n**Automate NPM Package Installation and Updates for Self-Hosted Environments**\n\nby Joachim Brindeau\n\n[View template details](https://n8n.io/workflows/3293-automate-npm-package-installation-and-updates-for-self-hosted-environments/)\n\n**🛠️ Npm Tool MCP Server 💪 all 5 operations**\n\nby David Ashby\n\n[View template details](https://n8n.io/workflows/5341-npm-tool-mcp-server-all-5-operations/)\n\n**AI-Powered NPM Package Intelligence Agent**\n\nby Divyanshu Gupta\n\n[View template details](https://n8n.io/workflows/15410-ai-powered-npm-package-intelligence-agent/)\n\n[Browse npm integration templates](https://n8n.io/integrations/npm/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [npm's documentation](https://docs.npmjs.com/) for more information about the service.\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n",
31656
31563
  "excerpt": "# npm node Use the npm node to automate work in npm, and integrate npm with other applications. On this page, you'll find a list of operations the npm node supports and links to more resources. Credentials Refer to [npm credentials](../../credentials/npm/) for guidance on setting up authentication. ## Operations - Package - Get Package Metadata - Get Package Versions - Search for Packages - Distribution Tag - Get All Tags - Update a Tag ## Templates and examples **Automate NPM...",
31657
31564
  "sections": [
31658
31565
  {
@@ -31688,7 +31595,7 @@
31688
31595
  "relatedPages": []
31689
31596
  },
31690
31597
  "searchIndex": {
31691
- "fullText": "npm # npm node\n\nuse the npm node to automate work in npm, and integrate npm with other applications.\n\non this page, you'll find a list of operations the npm node supports and links to more resources.\n\ncredentials\n\nrefer to [npm credentials](../../credentials/npm/) for guidance on setting up authentication.\n\n## operations\n\n- package\n - get package metadata\n - get package versions\n - search for packages\n- distribution tag\n - get all tags\n - update a tag\n\n## templates and examples\n\n**automate npm package installation and updates for self-hosted environments**\n\nby joachim brindeau\n\n[view template details](https://n8n.io/workflows/3293-automate-npm-package-installation-and-updates-for-self-hosted-environments/)\n\n**🛠️ npm tool mcp server 💪 all 5 operations**\n\nby david ashby\n\n[view template details](https://n8n.io/workflows/5341-npm-tool-mcp-server-all-5-operations/)\n\n**ai-powered npm package intelligence agent**\n\nby divyanshu gupta\n\n[view template details](https://n8n.io/workflows/15407-ai-powered-npm-package-intelligence-agent/)\n\n[browse npm integration templates](https://n8n.io/integrations/npm/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [npm's documentation](https://docs.npmjs.com/) for more information about the service.\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n npm node",
31598
+ "fullText": "npm # npm node\n\nuse the npm node to automate work in npm, and integrate npm with other applications.\n\non this page, you'll find a list of operations the npm node supports and links to more resources.\n\ncredentials\n\nrefer to [npm credentials](../../credentials/npm/) for guidance on setting up authentication.\n\n## operations\n\n- package\n - get package metadata\n - get package versions\n - search for packages\n- distribution tag\n - get all tags\n - update a tag\n\n## templates and examples\n\n**automate npm package installation and updates for self-hosted environments**\n\nby joachim brindeau\n\n[view template details](https://n8n.io/workflows/3293-automate-npm-package-installation-and-updates-for-self-hosted-environments/)\n\n**🛠️ npm tool mcp server 💪 all 5 operations**\n\nby david ashby\n\n[view template details](https://n8n.io/workflows/5341-npm-tool-mcp-server-all-5-operations/)\n\n**ai-powered npm package intelligence agent**\n\nby divyanshu gupta\n\n[view template details](https://n8n.io/workflows/15410-ai-powered-npm-package-intelligence-agent/)\n\n[browse npm integration templates](https://n8n.io/integrations/npm/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [npm's documentation](https://docs.npmjs.com/) for more information about the service.\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n npm node",
31692
31599
  "importantTerms": [
31693
31600
  "node",
31694
31601
  "package",
@@ -35519,7 +35426,7 @@
35519
35426
  "nodeName": "todoist",
35520
35427
  "nodeType": "n8n-nodes-base.todoist",
35521
35428
  "content": {
35522
- "markdown": "# Todoist node\n\nUse the Todoist node to automate work in Todoist, and integrate Todoist with other applications. n8n has built-in support for a wide range of Todoist features, including creating, updating, deleting, and getting tasks.\n\nOn this page, you'll find a list of operations the Todoist node supports and links to more resources.\n\nCredentials\n\nRefer to [Todoist credentials](../../credentials/todoist/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## Operations\n\n- Task\n - Create a new task\n - Close a task\n - Delete a task\n - Get a task\n - Get all tasks\n - Reopen a task\n - Update a task\n\n## Templates and examples\n\n**Realtime Notion Todoist 2-way Sync with Redis**\n\nby Mario\n\n[View template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n**Sync tasks automatically from Todoist to Notion**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1778-sync-tasks-automatically-from-todoist-to-notion/)\n\n**Effortless Task Management: Create Todoist Tasks Directly from Telegram with AI**\n\nby Onur\n\n[View template details](https://n8n.io/workflows/3052-effortless-task-management-create-todoist-tasks-directly-from-telegram-with-ai/)\n\n[Browse Todoist integration templates](https://n8n.io/integrations/todoist/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n",
35429
+ "markdown": "# Todoist node\n\nUse the Todoist node to automate work in Todoist, and integrate Todoist with other applications. n8n has built-in support for a wide range of Todoist features, including creating, updating, deleting, and getting tasks.\n\nOn this page, you'll find a list of operations the Todoist node supports and links to more resources.\n\nCredentials\n\nRefer to [Todoist credentials](../../credentials/todoist/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\n## Operations\n\n- Task\n - Create a new task\n - Close a task\n - Delete a task\n - Get a task\n - Get all tasks\n - Reopen a task\n - Update a task\n\n## Templates and examples\n\n**Realtime Notion Todoist 2-way sync with Redis**\n\nby Mario\n\n[View template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n**Sync tasks automatically from Todoist to Notion**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1778-sync-tasks-automatically-from-todoist-to-notion/)\n\n**Effortless Task Management: Create Todoist Tasks Directly from Telegram with AI**\n\nby Onur\n\n[View template details](https://n8n.io/workflows/3052-effortless-task-management-create-todoist-tasks-directly-from-telegram-with-ai/)\n\n[Browse Todoist integration templates](https://n8n.io/integrations/todoist/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n",
35523
35430
  "excerpt": "# Todoist node Use the Todoist node to automate work in Todoist, and integrate Todoist with other applications. n8n has built-in support for a wide range of Todoist features, including creating, updating, deleting, and getting tasks. On this page, you'll find a list of operations the Todoist node supports and links to more resources. Credentials Refer to [Todoist credentials](../../credentials/todoist/) for guidance on setting up authentication. This node can be used as an AI tool This nod...",
35524
35431
  "sections": [
35525
35432
  {
@@ -41623,7 +41530,7 @@
41623
41530
  "nodeName": null,
41624
41531
  "nodeType": null,
41625
41532
  "content": {
41626
- "markdown": "# OpenAI node\n\nUse the OpenAI node to automate work in OpenAI and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and assistants, as well as chatting with models.\n\nOn this page, you'll find a list of operations the OpenAI node supports and links to more resources.\n\nPrevious node versions\n\nThe OpenAI node replaces the OpenAI assistant node from version 1.29.0 on. n8n version 1.117.0 introduces V2 of the OpenAI node that supports the OpenAI Responses API and removes support for the [to-be-deprecated Assistants API](https://platform.openai.com/docs/assistants/migration).\n\nCredentials\n\nRefer to [OpenAI credentials](../../credentials/openai/) for guidance on setting up authentication.\n\n## Operations\n\n- **Text**\n - [**Generate a Chat Completion**](text-operations/#generate-a-chat-completion)\n - [**Generate a Model Response**](text-operations/#generate-a-model-response)\n - [**Classify Text for Violations**](text-operations/#classify-text-for-violations)\n- **Image**\n - [**Analyze Image**](image-operations/#analyze-image)\n - [**Generate an Image**](image-operations/#generate-an-image)\n - [**Edit an Image**](image-operations/#edit-an-image)\n- **Audio**\n - [**Generate Audio**](audio-operations/#generate-audio)\n - [**Transcribe a Recording**](audio-operations/#transcribe-a-recording)\n - [**Translate a Recording**](audio-operations/#translate-a-recording)\n- **File**\n - [**Delete a File**](file-operations/#delete-a-file)\n - [**List Files**](file-operations/#list-files)\n - [**Upload a File**](file-operations/#upload-a-file)\n- **Video**\n - [**Generate a Video**](video-operations/#generate-video)\n- **Conversation**\n - [**Create a Conversation**](conversation-operations/#create-a-conversation)\n - [**Get a Conversation**](conversation-operations/#get-a-conversation)\n - [**Update a Conversation**](conversation-operations/#update-a-conversation)\n - [**Remove a Conversation**](conversation-operations/#remove-a-conversation)\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse OpenAI integration templates](https://n8n.io/integrations/openai/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [OpenAI's documentation](https://beta.openai.com/docs/introduction) for more information about the service.\n\nRefer to [OpenAI's assistants documentation](https://platform.openai.com/docs/assistants/how-it-works/objects) for more information about how assistants work.\n\nFor help dealing with rate limits, refer to [Handling rate limits](../../rate-limits/).\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n\n## Using tools with OpenAI assistants\n\nSome operations allow you to connect tools. [Tools](../../../../advanced-ai/examples/understand-tools/) act like addons that your AI can use to access extra context or resources.\n\nSelect the **Tools** connector to browse the available tools and add them.\n\nOnce you add a tool connection, the OpenAI node becomes a [root node](../../../../glossary/#root-node-n8n), allowing it to form a [cluster node](../../../../glossary/#cluster-node-n8n) with the tools [sub-nodes](../../../../glossary/#sub-node-n8n). See [Node types](../../node-types/#cluster-nodes) for more information on cluster nodes and root nodes.\n\n### Operations that support tool connectors\n\n- **Text**\n - [**Generate a Chat Completion**](text-operations/#generate-a-chat-completion)\n - [**Generate a Model Response**](text-operations/#generate-a-model-response)\n\n## Common issues\n\nFor common questions or issues and suggested solutions, refer to [Common issues](common-issues/).\n",
41533
+ "markdown": "# OpenAI node\n\nUse the OpenAI node to automate work in OpenAI and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and assistants, as well as chatting with models.\n\nOn this page, you'll find a list of operations the OpenAI node supports and links to more resources.\n\nPrevious node versions\n\nThe OpenAI node replaces the OpenAI assistant node from version 1.29.0 on. n8n version 1.117.0 introduces V2 of the OpenAI node that supports the OpenAI Responses API and removes support for the [to-be-deprecated Assistants API](https://platform.openai.com/docs/assistants/migration).\n\nCredentials\n\nRefer to [OpenAI credentials](../../credentials/openai/) for guidance on setting up authentication.\n\n## Operations\n\n- **Text**\n - [**Generate a Chat Completion**](text-operations/#generate-a-chat-completion)\n - [**Generate a Model Response**](text-operations/#generate-a-model-response)\n - [**Classify Text for Violations**](text-operations/#classify-text-for-violations)\n- **Image**\n - [**Analyze Image**](image-operations/#analyze-image)\n - [**Generate an Image**](image-operations/#generate-an-image)\n - [**Edit an Image**](image-operations/#edit-an-image)\n- **Audio**\n - [**Generate Audio**](audio-operations/#generate-audio)\n - [**Transcribe a Recording**](audio-operations/#transcribe-a-recording)\n - [**Translate a Recording**](audio-operations/#translate-a-recording)\n- **File**\n - [**Delete a File**](file-operations/#delete-a-file)\n - [**List Files**](file-operations/#list-files)\n - [**Upload a File**](file-operations/#upload-a-file)\n- **Video**\n - [**Generate a Video**](video-operations/#generate-video)\n- **Conversation**\n - [**Create a Conversation**](conversation-operations/#create-a-conversation)\n - [**Get a Conversation**](conversation-operations/#get-a-conversation)\n - [**Update a Conversation**](conversation-operations/#update-a-conversation)\n - [**Remove a Conversation**](conversation-operations/#remove-a-conversation)\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse OpenAI integration templates](https://n8n.io/integrations/openai/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [OpenAI's documentation](https://beta.openai.com/docs/introduction) for more information about the service.\n\nRefer to [OpenAI's assistants documentation](https://platform.openai.com/docs/assistants/how-it-works/objects) for more information about how assistants work.\n\nFor help dealing with rate limits, refer to [Handling rate limits](../../rate-limits/).\n\n## What to do if your operation isn't supported\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** > **Predefined Credential Type**.\n1. Select the service you want to connect to.\n1. Select your credential.\n\nRefer to [Custom API operations](../../../custom-operations/) for more information.\n\n## Using tools with OpenAI assistants\n\nSome operations allow you to connect tools. [Tools](../../../../advanced-ai/examples/understand-tools/) act like addons that your AI can use to access extra context or resources.\n\nSelect the **Tools** connector to browse the available tools and add them.\n\nOnce you add a tool connection, the OpenAI node becomes a [root node](../../../../glossary/#root-node-n8n), allowing it to form a [cluster node](../../../../glossary/#cluster-node-n8n) with the tools [sub-nodes](../../../../glossary/#sub-node-n8n). See [Node types](../../node-types/#cluster-nodes) for more information on cluster nodes and root nodes.\n\n### Operations that support tool connectors\n\n- **Text**\n - [**Generate a Chat Completion**](text-operations/#generate-a-chat-completion)\n - [**Generate a Model Response**](text-operations/#generate-a-model-response)\n\n## Common issues\n\nFor common questions or issues and suggested solutions, refer to [Common issues](common-issues/).\n",
41627
41534
  "excerpt": "# OpenAI node Use the OpenAI node to automate work in OpenAI and integrate OpenAI with other applications. n8n has built-in support for a wide range of OpenAI features, including creating images and assistants, as well as chatting with models. On this page, you'll find a list of operations the OpenAI node supports and links to more resources. Previous node versions The OpenAI node replaces the OpenAI assistant node from version 1.29.0 on. n8n version 1.117.0 introduces V2 of the OpenAI node...",
41628
41535
  "sections": [
41629
41536
  {
@@ -41667,19 +41574,19 @@
41667
41574
  "codeExamples": 0,
41668
41575
  "complexity": "beginner",
41669
41576
  "readingTime": "3 min",
41670
- "contentLength": 4517,
41577
+ "contentLength": 4560,
41671
41578
  "relatedPages": []
41672
41579
  },
41673
41580
  "searchIndex": {
41674
- "fullText": "openai # openai node\n\nuse the openai node to automate work in openai and integrate openai with other applications. n8n has built-in support for a wide range of openai features, including creating images and assistants, as well as chatting with models.\n\non this page, you'll find a list of operations the openai node supports and links to more resources.\n\nprevious node versions\n\nthe openai node replaces the openai assistant node from version 1.29.0 on. n8n version 1.117.0 introduces v2 of the openai node that supports the openai responses api and removes support for the [to-be-deprecated assistants api](https://platform.openai.com/docs/assistants/migration).\n\ncredentials\n\nrefer to [openai credentials](../../credentials/openai/) for guidance on setting up authentication.\n\n## operations\n\n- **text**\n - [**generate a chat completion**](text-operations/#generate-a-chat-completion)\n - [**generate a model response**](text-operations/#generate-a-model-response)\n - [**classify text for violations**](text-operations/#classify-text-for-violations)\n- **image**\n - [**analyze image**](image-operations/#analyze-image)\n - [**generate an image**](image-operations/#generate-an-image)\n - [**edit an image**](image-operations/#edit-an-image)\n- **audio**\n - [**generate audio**](audio-operations/#generate-audio)\n - [**transcribe a recording**](audio-operations/#transcribe-a-recording)\n - [**translate a recording**](audio-operations/#translate-a-recording)\n- **file**\n - [**delete a file**](file-operations/#delete-a-file)\n - [**list files**](file-operations/#list-files)\n - [**upload a file**](file-operations/#upload-a-file)\n- **video**\n - [**generate a video**](video-operations/#generate-video)\n- **conversation**\n - [**create a conversation**](conversation-operations/#create-a-conversation)\n - [**get a conversation**](conversation-operations/#get-a-conversation)\n - [**update a conversation**](conversation-operations/#update-a-conversation)\n - [**remove a conversation**](conversation-operations/#remove-a-conversation)\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse openai integration templates](https://n8n.io/integrations/openai/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [openai's documentation](https://beta.openai.com/docs/introduction) for more information about the service.\n\nrefer to [openai's assistants documentation](https://platform.openai.com/docs/assistants/how-it-works/objects) for more information about how assistants work.\n\nfor help dealing with rate limits, refer to [handling rate limits](../../rate-limits/).\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n\n## using tools with openai assistants\n\nsome operations allow you to connect tools. [tools](../../../../advanced-ai/examples/understand-tools/) act like addons that your ai can use to access extra context or resources.\n\nselect the **tools** connector to browse the available tools and add them.\n\nonce you add a tool connection, the openai node becomes a [root node](../../../../glossary/#root-node-n8n), allowing it to form a [cluster node](../../../../glossary/#cluster-node-n8n) with the tools [sub-nodes](../../../../glossary/#sub-node-n8n). see [node types](../../node-types/#cluster-nodes) for more information on cluster nodes and root nodes.\n\n### operations that support tool connectors\n\n- **text**\n - [**generate a chat completion**](text-operations/#generate-a-chat-completion)\n - [**generate a model response**](text-operations/#generate-a-model-response)\n\n## common issues\n\nfor common questions or issues and suggested solutions, refer to [common issues](common-issues/).\n openai node",
41581
+ "fullText": "openai # openai node\n\nuse the openai node to automate work in openai and integrate openai with other applications. n8n has built-in support for a wide range of openai features, including creating images and assistants, as well as chatting with models.\n\non this page, you'll find a list of operations the openai node supports and links to more resources.\n\nprevious node versions\n\nthe openai node replaces the openai assistant node from version 1.29.0 on. n8n version 1.117.0 introduces v2 of the openai node that supports the openai responses api and removes support for the [to-be-deprecated assistants api](https://platform.openai.com/docs/assistants/migration).\n\ncredentials\n\nrefer to [openai credentials](../../credentials/openai/) for guidance on setting up authentication.\n\n## operations\n\n- **text**\n - [**generate a chat completion**](text-operations/#generate-a-chat-completion)\n - [**generate a model response**](text-operations/#generate-a-model-response)\n - [**classify text for violations**](text-operations/#classify-text-for-violations)\n- **image**\n - [**analyze image**](image-operations/#analyze-image)\n - [**generate an image**](image-operations/#generate-an-image)\n - [**edit an image**](image-operations/#edit-an-image)\n- **audio**\n - [**generate audio**](audio-operations/#generate-audio)\n - [**transcribe a recording**](audio-operations/#transcribe-a-recording)\n - [**translate a recording**](audio-operations/#translate-a-recording)\n- **file**\n - [**delete a file**](file-operations/#delete-a-file)\n - [**list files**](file-operations/#list-files)\n - [**upload a file**](file-operations/#upload-a-file)\n- **video**\n - [**generate a video**](video-operations/#generate-video)\n- **conversation**\n - [**create a conversation**](conversation-operations/#create-a-conversation)\n - [**get a conversation**](conversation-operations/#get-a-conversation)\n - [**update a conversation**](conversation-operations/#update-a-conversation)\n - [**remove a conversation**](conversation-operations/#remove-a-conversation)\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse openai integration templates](https://n8n.io/integrations/openai/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [openai's documentation](https://beta.openai.com/docs/introduction) for more information about the service.\n\nrefer to [openai's assistants documentation](https://platform.openai.com/docs/assistants/how-it-works/objects) for more information about how assistants work.\n\nfor help dealing with rate limits, refer to [handling rate limits](../../rate-limits/).\n\n## what to do if your operation isn't supported\n\nif this node doesn't support the operation you want to do, you can use the [http request node](../../core-nodes/n8n-nodes-base.httprequest/) to call the service's api.\n\nyou can use the credential you created for this service in the http request node:\n\n1. in the http request node, select **authentication** > **predefined credential type**.\n1. select the service you want to connect to.\n1. select your credential.\n\nrefer to [custom api operations](../../../custom-operations/) for more information.\n\n## using tools with openai assistants\n\nsome operations allow you to connect tools. [tools](../../../../advanced-ai/examples/understand-tools/) act like addons that your ai can use to access extra context or resources.\n\nselect the **tools** connector to browse the available tools and add them.\n\nonce you add a tool connection, the openai node becomes a [root node](../../../../glossary/#root-node-n8n), allowing it to form a [cluster node](../../../../glossary/#cluster-node-n8n) with the tools [sub-nodes](../../../../glossary/#sub-node-n8n). see [node types](../../node-types/#cluster-nodes) for more information on cluster nodes and root nodes.\n\n### operations that support tool connectors\n\n- **text**\n - [**generate a chat completion**](text-operations/#generate-a-chat-completion)\n - [**generate a model response**](text-operations/#generate-a-model-response)\n\n## common issues\n\nfor common questions or issues and suggested solutions, refer to [common issues](common-issues/).\n openai node",
41675
41582
  "importantTerms": [
41676
41583
  "operations",
41677
41584
  "openai",
41678
41585
  "node",
41679
41586
  "generate",
41680
41587
  "conversation",
41681
- "image",
41682
41588
  "text",
41589
+ "image",
41683
41590
  "https",
41684
41591
  "file",
41685
41592
  "with",
@@ -41707,6 +41614,7 @@
41707
41614
  "this",
41708
41615
  "list",
41709
41616
  "resources",
41617
+ "assistant",
41710
41618
  "that",
41711
41619
  "docs",
41712
41620
  "credentials",
@@ -44581,7 +44489,7 @@
44581
44489
  "nodeName": null,
44582
44490
  "nodeType": null,
44583
44491
  "content": {
44584
- "markdown": "# AI Agent node\n\nAn [AI agent](../../../../../glossary/#ai-agent) is an autonomous system that receives data, makes rational decisions, and acts within its environment to achieve specific goals. The AI agent's environment is everything the agent can access that isn't the agent itself. This agent uses external [tools](../../../../../glossary/#ai-tool) and APIs to perform actions and retrieve information. It can understand the capabilities of different tools and determine which tool to use depending on the task.\n\nConnect a tool\n\nYou must connect at least one tool [sub-node](../../sub-nodes/) to an AI Agent node.\n\nAgent type\n\nPrior to version 1.82.0, the AI Agent had a setting for working as different agent types. This has now been removed and all AI Agent nodes work as a `Tools Agent` which was the recommended and most frequently used setting. If you're working with older versions of the AI Agent in workflows or templates, as long as they were set to 'Tools Agent', they should continue to behave as intended with the updated node.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Generate AI Viral Videos with Seedance and Upload to TikTok, YouTube & Instagram**\n\nby Dr. Firas\n\n[View template details](https://n8n.io/workflows/5338-generate-ai-viral-videos-with-seedance-and-upload-to-tiktok-youtube-and-instagram/)\n\n[Browse AI Agent integration templates](https://n8n.io/integrations/agent/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's documentation on agents](https://js.langchain.com/docs/concepts/agents/) for more information about the service.\n\nNew to AI Agents? Read the [n8n blog introduction to AI agents](https://blog.n8n.io/ai-agents/).\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n\n## Common issues\n\nFor common errors or issues and suggested resolution steps, refer to [Common Issues](common-issues/).\n",
44492
+ "markdown": "# AI Agent node\n\nAn [AI agent](../../../../../glossary/#ai-agent) is an autonomous system that receives data, makes rational decisions, and acts within its environment to achieve specific goals. The AI agent's environment is everything the agent can access that isn't the agent itself. This agent uses external [tools](../../../../../glossary/#ai-tool) and APIs to perform actions and retrieve information. It can understand the capabilities of different tools and determine which tool to use depending on the task.\n\nConnect a tool\n\nYou must connect at least one tool [sub-node](../../sub-nodes/) to an AI Agent node.\n\nAgent type\n\nPrior to version 1.82.0, the AI Agent had a setting for working as different agent types. This has now been removed and all AI Agent nodes work as a `Tools Agent` which was the recommended and most frequently used setting. If you're working with older versions of the AI Agent in workflows or templates, as long as they were set to 'Tools Agent', they should continue to behave as intended with the updated node.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse AI Agent integration templates](https://n8n.io/integrations/agent/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's documentation on agents](https://js.langchain.com/docs/concepts/agents/) for more information about the service.\n\nNew to AI Agents? Read the [n8n blog introduction to AI agents](https://blog.n8n.io/ai-agents/).\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n\n## Common issues\n\nFor common errors or issues and suggested resolution steps, refer to [Common Issues](common-issues/).\n",
44585
44493
  "excerpt": "# AI Agent node An [AI agent](../../../../../glossary/#ai-agent) is an autonomous system that receives data, makes rational decisions, and acts within its environment to achieve specific goals. The AI agent's environment is everything the agent can access that isn't the agent itself. This agent uses external [tools](../../../../../glossary/#ai-tool) and APIs to perform actions and retrieve information. It can understand the capabilities of different tools and determine which tool to use dependi...",
44586
44494
  "sections": [
44587
44495
  {
@@ -44607,11 +44515,11 @@
44607
44515
  "codeExamples": 0,
44608
44516
  "complexity": "beginner",
44609
44517
  "readingTime": "2 min",
44610
- "contentLength": 2139,
44518
+ "contentLength": 2094,
44611
44519
  "relatedPages": []
44612
44520
  },
44613
44521
  "searchIndex": {
44614
- "fullText": "ai agent # ai agent node\n\nan [ai agent](../../../../../glossary/#ai-agent) is an autonomous system that receives data, makes rational decisions, and acts within its environment to achieve specific goals. the ai agent's environment is everything the agent can access that isn't the agent itself. this agent uses external [tools](../../../../../glossary/#ai-tool) and apis to perform actions and retrieve information. it can understand the capabilities of different tools and determine which tool to use depending on the task.\n\nconnect a tool\n\nyou must connect at least one tool [sub-node](../../sub-nodes/) to an ai agent node.\n\nagent type\n\nprior to version 1.82.0, the ai agent had a setting for working as different agent types. this has now been removed and all ai agent nodes work as a `tools agent` which was the recommended and most frequently used setting. if you're working with older versions of the ai agent in workflows or templates, as long as they were set to 'tools agent', they should continue to behave as intended with the updated node.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**generate ai viral videos with seedance and upload to tiktok, youtube & instagram**\n\nby dr. firas\n\n[view template details](https://n8n.io/workflows/5338-generate-ai-viral-videos-with-seedance-and-upload-to-tiktok-youtube-and-instagram/)\n\n[browse ai agent integration templates](https://n8n.io/integrations/agent/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's documentation on agents](https://js.langchain.com/docs/concepts/agents/) for more information about the service.\n\nnew to ai agents? read the [n8n blog introduction to ai agents](https://blog.n8n.io/ai-agents/).\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n\n## common issues\n\nfor common errors or issues and suggested resolution steps, refer to [common issues](common-issues/).\n ai agent node",
44522
+ "fullText": "ai agent # ai agent node\n\nan [ai agent](../../../../../glossary/#ai-agent) is an autonomous system that receives data, makes rational decisions, and acts within its environment to achieve specific goals. the ai agent's environment is everything the agent can access that isn't the agent itself. this agent uses external [tools](../../../../../glossary/#ai-tool) and apis to perform actions and retrieve information. it can understand the capabilities of different tools and determine which tool to use depending on the task.\n\nconnect a tool\n\nyou must connect at least one tool [sub-node](../../sub-nodes/) to an ai agent node.\n\nagent type\n\nprior to version 1.82.0, the ai agent had a setting for working as different agent types. this has now been removed and all ai agent nodes work as a `tools agent` which was the recommended and most frequently used setting. if you're working with older versions of the ai agent in workflows or templates, as long as they were set to 'tools agent', they should continue to behave as intended with the updated node.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse ai agent integration templates](https://n8n.io/integrations/agent/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's documentation on agents](https://js.langchain.com/docs/concepts/agents/) for more information about the service.\n\nnew to ai agents? read the [n8n blog introduction to ai agents](https://blog.n8n.io/ai-agents/).\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n\n## common issues\n\nfor common errors or issues and suggested resolution steps, refer to [common issues](common-issues/).\n ai agent node",
44615
44523
  "importantTerms": [
44616
44524
  "agent",
44617
44525
  "https",
@@ -47217,7 +47125,7 @@
47217
47125
  "nodeName": null,
47218
47126
  "nodeType": null,
47219
47127
  "content": {
47220
- "markdown": "# Lemonade Chat Model node\n\nUse the Lemonade Chat Model node to run chat-capable language models managed by a Lemonade server from within n8n. This node functions as a LangChain-compatible chat model root node and is suitable for chat-style workloads. It lets you select a model hosted on your Lemonade server, and control generation behavior using common sampling and decoding options.\n\nOn this page, you'll find a list of the node parameters, and available options to refine generation.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nThe model which will generate the completion. Models are loaded and managed through the Lemonade server. This parameter is required. Select the model name made available by your Lemonade server (for example, a model alias like \"gpt-4\", or any custom model name exposed by Lemonade).\n\nModels are provided by the Lemonade server; if you don't see the model you expect, verify your Lemonade server configuration and credentials.\n\n## Node options\n\nUse these options to further refine the node's behavior.\n\n### Sampling Temperature\n\nControls the randomness of the generated text. Lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0.7 |\n\n### Top P\n\nControls which words the model can choose from when generating text. Lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 1 |\n\n### Frequency Penalty\n\nAdjusts the penalty for tokens that have already appeared in the generated text. Positive values discourage repetition, negative values encourage it.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Presence Penalty\n\nAdjusts the penalty for tokens based on their presence in the generated text so far. Positive values penalize tokens that have already appeared, encouraging diversity.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Max Tokens to Generate\n\nThe maximum number of tokens to generate. Set to -1 for no limit. Be cautious when setting this to a large value, as it can lead to long outputs.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | -1 |\n\n### Stop Sequences\n\nComma-separated list of sequences where the model will stop generating text. Use this to define explicit termination strings for responses.\n\n| Property | Value |\n| -------- | ------ |\n| Type | string |\n| Required | no |\n| Default | \"\" |\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Lemonade Chat Model integration templates](https://n8n.io/integrations/lemonade-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Lemonade Server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47128
+ "markdown": "# Lemonade Chat Model node\n\nUse the Lemonade Chat Model node to run chat-capable language models managed by a Lemonade server from within n8n. This node functions as a LangChain-compatible chat model root node and is suitable for chat-style workloads. It lets you select a model hosted on your Lemonade server, and control generation behavior using common sampling and decoding options.\n\nOn this page, you'll find a list of the node parameters, and available options to refine generation.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nThe model which will generate the completion. Models are loaded and managed through the Lemonade server. This parameter is required. Select the model name made available by your Lemonade server (for example, a model alias like \"gpt-4\", or any custom model name exposed by Lemonade).\n\nModels are provided by the Lemonade server; if you don't see the model you expect, verify your Lemonade server configuration and credentials.\n\n## Node options\n\nUse these options to further refine the node's behavior.\n\n### Sampling Temperature\n\nControls the randomness of the generated text. Lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0.7 |\n\n### Top P\n\nControls which words the model can choose from when generating text. Lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 1 |\n\n### Frequency Penalty\n\nAdjusts the penalty for tokens that have already appeared in the generated text. Positive values discourage repetition, negative values encourage it.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Presence Penalty\n\nAdjusts the penalty for tokens based on their presence in the generated text so far. Positive values penalize tokens that have already appeared, encouraging diversity.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Max Tokens to Generate\n\nThe maximum number of tokens to generate. Set to -1 for no limit. Be cautious when setting this to a large value, as it can lead to long outputs.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | -1 |\n\n### Stop Sequences\n\nComma-separated list of sequences where the model will stop generating text. Use this to define explicit termination strings for responses.\n\n| Property | Value |\n| -------- | ------ |\n| Type | string |\n| Required | no |\n| Default | \"\" |\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse Lemonade Chat Model integration templates](https://n8n.io/integrations/lemonade-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Lemonade Server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47221
47129
  "excerpt": "# Lemonade Chat Model node Use the Lemonade Chat Model node to run chat-capable language models managed by a Lemonade server from within n8n. This node functions as a LangChain-compatible chat model root node and is suitable for chat-style workloads. It lets you select a model hosted on your Lemonade server, and control generation behavior using common sampling and decoding options. On this page, you'll find a list of the node parameters, and available options to refine generation. Credential...",
47222
47130
  "sections": [
47223
47131
  {
@@ -47254,11 +47162,11 @@
47254
47162
  "codeExamples": 0,
47255
47163
  "complexity": "intermediate",
47256
47164
  "readingTime": "4 min",
47257
- "contentLength": 4345,
47165
+ "contentLength": 4388,
47258
47166
  "relatedPages": []
47259
47167
  },
47260
47168
  "searchIndex": {
47261
- "fullText": "lemonade chat model # lemonade chat model node\n\nuse the lemonade chat model node to run chat-capable language models managed by a lemonade server from within n8n. this node functions as a langchain-compatible chat model root node and is suitable for chat-style workloads. it lets you select a model hosted on your lemonade server, and control generation behavior using common sampling and decoding options.\n\non this page, you'll find a list of the node parameters, and available options to refine generation.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\n### model\n\nthe model which will generate the completion. models are loaded and managed through the lemonade server. this parameter is required. select the model name made available by your lemonade server (for example, a model alias like \"gpt-4\", or any custom model name exposed by lemonade).\n\nmodels are provided by the lemonade server; if you don't see the model you expect, verify your lemonade server configuration and credentials.\n\n## node options\n\nuse these options to further refine the node's behavior.\n\n### sampling temperature\n\ncontrols the randomness of the generated text. lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0.7 |\n\n### top p\n\ncontrols which words the model can choose from when generating text. lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 1 |\n\n### frequency penalty\n\nadjusts the penalty for tokens that have already appeared in the generated text. positive values discourage repetition, negative values encourage it.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### presence penalty\n\nadjusts the penalty for tokens based on their presence in the generated text so far. positive values penalize tokens that have already appeared, encouraging diversity.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### max tokens to generate\n\nthe maximum number of tokens to generate. set to -1 for no limit. be cautious when setting this to a large value, as it can lead to long outputs.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | -1 |\n\n### stop sequences\n\ncomma-separated list of sequences where the model will stop generating text. use this to define explicit termination strings for responses.\n\n| property | value |\n| -------- | ------ |\n| type | string |\n| required | no |\n| default | \"\" |\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse lemonade chat model integration templates](https://n8n.io/integrations/lemonade-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [lemonade server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n lemonade chat model node",
47169
+ "fullText": "lemonade chat model # lemonade chat model node\n\nuse the lemonade chat model node to run chat-capable language models managed by a lemonade server from within n8n. this node functions as a langchain-compatible chat model root node and is suitable for chat-style workloads. it lets you select a model hosted on your lemonade server, and control generation behavior using common sampling and decoding options.\n\non this page, you'll find a list of the node parameters, and available options to refine generation.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\n### model\n\nthe model which will generate the completion. models are loaded and managed through the lemonade server. this parameter is required. select the model name made available by your lemonade server (for example, a model alias like \"gpt-4\", or any custom model name exposed by lemonade).\n\nmodels are provided by the lemonade server; if you don't see the model you expect, verify your lemonade server configuration and credentials.\n\n## node options\n\nuse these options to further refine the node's behavior.\n\n### sampling temperature\n\ncontrols the randomness of the generated text. lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0.7 |\n\n### top p\n\ncontrols which words the model can choose from when generating text. lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 1 |\n\n### frequency penalty\n\nadjusts the penalty for tokens that have already appeared in the generated text. positive values discourage repetition, negative values encourage it.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### presence penalty\n\nadjusts the penalty for tokens based on their presence in the generated text so far. positive values penalize tokens that have already appeared, encouraging diversity.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### max tokens to generate\n\nthe maximum number of tokens to generate. set to -1 for no limit. be cautious when setting this to a large value, as it can lead to long outputs.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | -1 |\n\n### stop sequences\n\ncomma-separated list of sequences where the model will stop generating text. use this to define explicit termination strings for responses.\n\n| property | value |\n| -------- | ------ |\n| type | string |\n| required | no |\n| default | \"\" |\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse lemonade chat model integration templates](https://n8n.io/integrations/lemonade-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [lemonade server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n lemonade chat model node",
47262
47170
  "importantTerms": [
47263
47171
  "model",
47264
47172
  "lemonade",
@@ -47269,6 +47177,7 @@
47269
47177
  "values",
47270
47178
  "number",
47271
47179
  "required",
47180
+ "text",
47272
47181
  "value",
47273
47182
  "this",
47274
47183
  "nodes",
@@ -47279,7 +47188,6 @@
47279
47188
  "your",
47280
47189
  "options",
47281
47190
  "expression",
47282
- "text",
47283
47191
  "tokens",
47284
47192
  "items",
47285
47193
  "input",
@@ -47882,7 +47790,7 @@
47882
47790
  "nodeName": null,
47883
47791
  "nodeType": null,
47884
47792
  "content": {
47885
- "markdown": "# Lemonade Model node\n\nUse the Lemonade Model node to generate text completions using language models hosted and managed by a Lemonade server. This node is a simple LangChain-compatible language model root node suitable for text completion tasks within n8n workflows.\n\nOn this page, you'll find a list of operations the Lemonade Model node supports, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\nConfigure the node with the following parameters.\n\n### Model\n\nThe model which will generate the completion. Models are loaded and managed through the Lemonade server; select the model you want to use from the list provided by the node.\n\n## Node options\n\nUse these options to further refine the node's behavior.\n\n### Sampling Temperature\n\nControls the randomness of the generated text. Lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0.7 |\n\n### Top P\n\nControls which words the model can choose from when generating text. Lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 1 |\n\n### Frequency Penalty\n\nAdjusts the penalty for tokens that have already appeared in the generated text. Positive values discourage repetition, negative values encourage it.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Presence Penalty\n\nAdjusts the penalty for tokens based on their presence in the generated text so far. Positive values penalize tokens that have already appeared, encouraging diversity.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Max Tokens to Generate\n\nThe maximum number of tokens to generate. Set to -1 for no limit. Be cautious when setting this to a large value, as it can lead to very long outputs.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | -1 |\n\n### Stop Sequences\n\nComma-separated list of sequences where the model will stop generating text.\n\n| Property | Value |\n| -------- | ------ |\n| Type | string |\n| Required | no |\n| Default | \"\" |\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Lemonade Model integration templates](https://n8n.io/integrations/lemonade-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Lemonade Server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47793
+ "markdown": "# Lemonade Model node\n\nUse the Lemonade Model node to generate text completions using language models hosted and managed by a Lemonade server. This node is a simple LangChain-compatible language model root node suitable for text completion tasks within n8n workflows.\n\nOn this page, you'll find a list of operations the Lemonade Model node supports, and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\nConfigure the node with the following parameters.\n\n### Model\n\nThe model which will generate the completion. Models are loaded and managed through the Lemonade server; select the model you want to use from the list provided by the node.\n\n## Node options\n\nUse these options to further refine the node's behavior.\n\n### Sampling Temperature\n\nControls the randomness of the generated text. Lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0.7 |\n\n### Top P\n\nControls which words the model can choose from when generating text. Lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 1 |\n\n### Frequency Penalty\n\nAdjusts the penalty for tokens that have already appeared in the generated text. Positive values discourage repetition, negative values encourage it.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Presence Penalty\n\nAdjusts the penalty for tokens based on their presence in the generated text so far. Positive values penalize tokens that have already appeared, encouraging diversity.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | 0 |\n\n### Max Tokens to Generate\n\nThe maximum number of tokens to generate. Set to -1 for no limit. Be cautious when setting this to a large value, as it can lead to very long outputs.\n\n| Property | Value |\n| -------- | ------ |\n| Type | number |\n| Required | no |\n| Default | -1 |\n\n### Stop Sequences\n\nComma-separated list of sequences where the model will stop generating text.\n\n| Property | Value |\n| -------- | ------ |\n| Type | string |\n| Required | no |\n| Default | \"\" |\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse Lemonade Model integration templates](https://n8n.io/integrations/lemonade-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [Lemonade Server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
47886
47794
  "excerpt": "# Lemonade Model node Use the Lemonade Model node to generate text completions using language models hosted and managed by a Lemonade server. This node is a simple LangChain-compatible language model root node suitable for text completion tasks within n8n workflows. On this page, you'll find a list of operations the Lemonade Model node supports, and links to more resources. Credentials You can find authentication information for this node [here](../../../credentials/lemonade/). Parameter re...",
47887
47795
  "sections": [
47888
47796
  {
@@ -47918,17 +47826,17 @@
47918
47826
  "codeExamples": 0,
47919
47827
  "complexity": "beginner",
47920
47828
  "readingTime": "4 min",
47921
- "contentLength": 3966,
47829
+ "contentLength": 4009,
47922
47830
  "relatedPages": []
47923
47831
  },
47924
47832
  "searchIndex": {
47925
- "fullText": "lemonade model # lemonade model node\n\nuse the lemonade model node to generate text completions using language models hosted and managed by a lemonade server. this node is a simple langchain-compatible language model root node suitable for text completion tasks within n8n workflows.\n\non this page, you'll find a list of operations the lemonade model node supports, and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\nconfigure the node with the following parameters.\n\n### model\n\nthe model which will generate the completion. models are loaded and managed through the lemonade server; select the model you want to use from the list provided by the node.\n\n## node options\n\nuse these options to further refine the node's behavior.\n\n### sampling temperature\n\ncontrols the randomness of the generated text. lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0.7 |\n\n### top p\n\ncontrols which words the model can choose from when generating text. lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 1 |\n\n### frequency penalty\n\nadjusts the penalty for tokens that have already appeared in the generated text. positive values discourage repetition, negative values encourage it.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### presence penalty\n\nadjusts the penalty for tokens based on their presence in the generated text so far. positive values penalize tokens that have already appeared, encouraging diversity.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### max tokens to generate\n\nthe maximum number of tokens to generate. set to -1 for no limit. be cautious when setting this to a large value, as it can lead to very long outputs.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | -1 |\n\n### stop sequences\n\ncomma-separated list of sequences where the model will stop generating text.\n\n| property | value |\n| -------- | ------ |\n| type | string |\n| required | no |\n| default | \"\" |\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse lemonade model integration templates](https://n8n.io/integrations/lemonade-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [lemonade server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n lemonade model node",
47833
+ "fullText": "lemonade model # lemonade model node\n\nuse the lemonade model node to generate text completions using language models hosted and managed by a lemonade server. this node is a simple langchain-compatible language model root node suitable for text completion tasks within n8n workflows.\n\non this page, you'll find a list of operations the lemonade model node supports, and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/lemonade/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\nconfigure the node with the following parameters.\n\n### model\n\nthe model which will generate the completion. models are loaded and managed through the lemonade server; select the model you want to use from the list provided by the node.\n\n## node options\n\nuse these options to further refine the node's behavior.\n\n### sampling temperature\n\ncontrols the randomness of the generated text. lower values make the output more focused and deterministic, while higher values make it more diverse and random.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0.7 |\n\n### top p\n\ncontrols which words the model can choose from when generating text. lower values progressively remove the least likely options, so the model can only pick from a smaller, higher-confidence pool.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 1 |\n\n### frequency penalty\n\nadjusts the penalty for tokens that have already appeared in the generated text. positive values discourage repetition, negative values encourage it.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### presence penalty\n\nadjusts the penalty for tokens based on their presence in the generated text so far. positive values penalize tokens that have already appeared, encouraging diversity.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | 0 |\n\n### max tokens to generate\n\nthe maximum number of tokens to generate. set to -1 for no limit. be cautious when setting this to a large value, as it can lead to very long outputs.\n\n| property | value |\n| -------- | ------ |\n| type | number |\n| required | no |\n| default | -1 |\n\n### stop sequences\n\ncomma-separated list of sequences where the model will stop generating text.\n\n| property | value |\n| -------- | ------ |\n| type | string |\n| required | no |\n| default | \"\" |\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse lemonade model integration templates](https://n8n.io/integrations/lemonade-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [lemonade server's documentation](https://lemonade-server.ai/docs/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n lemonade model node",
47926
47834
  "importantTerms": [
47927
47835
  "model",
47928
47836
  "node",
47929
47837
  "lemonade",
47930
- "values",
47931
47838
  "text",
47839
+ "values",
47932
47840
  "number",
47933
47841
  "value",
47934
47842
  "nodes",
@@ -48827,30 +48735,30 @@
48827
48735
  },
48828
48736
  {
48829
48737
  "id": "page-0619",
48830
- "title": "Contextual Compression Retriever",
48831
- "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievercontextualcompression/index.md",
48832
- "urlPath": "integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievercontextualcompression/index.md",
48738
+ "title": "MultiQuery Retriever",
48739
+ "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievermultiquery/index.md",
48740
+ "urlPath": "integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievermultiquery/index.md",
48833
48741
  "category": "cluster-nodes",
48834
48742
  "subcategory": null,
48835
48743
  "nodeName": null,
48836
48744
  "nodeType": null,
48837
48745
  "content": {
48838
- "markdown": "# Contextual Compression Retriever node\n\nThe Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Templates and examples\n\n**Generate Contextual YouTube Comments Automatically with GPT-4o**\n\nby Yaron Been\n\n[View template details](https://n8n.io/workflows/4580-generate-contextual-youtube-comments-automatically-with-gpt-4o/)\n\n**Dynamic MCP Server Selection with OpenAI GPT-4.1 and Contextual AI Reranker**\n\nby Jinash Rouniyar\n\n[View template details](https://n8n.io/workflows/8272-dynamic-mcp-server-selection-with-openai-gpt-41-and-contextual-ai-reranker/)\n\n**Generate Contextual Recommendations from Slack using Pinecone**\n\nby Rahul Joshi\n\n[View template details](https://n8n.io/workflows/6018-generate-contextual-recommendations-from-slack-using-pinecone/)\n\n[Browse Contextual Compression Retriever integration templates](https://n8n.io/integrations/contextual-compression-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's contextual compression retriever documentation](https://js.langchain.com/docs/how_to/contextual_compression/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
48839
- "excerpt": "# Contextual Compression Retriever node The Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query. Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most nodes, including root nodes, take any number of items as input, process these items, and output the results...",
48746
+ "markdown": "# MultiQuery Retriever node\n\nThe MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query.\n\nOn this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node options\n\n- **Query Count**: Enter how many different versions of the query to generate.\n\n## Templates and examples\n\n[Browse MultiQuery Retriever integration templates](https://n8n.io/integrations/multiquery-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's retriever conceptual documentation](https://js.langchain.com/docs/concepts/retrievers) and [LangChain's multiquery retriever API documentation](https://v03.api.js.langchain.com/classes/langchain.retrievers_multi_query.MultiQueryRetriever.html) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
48747
+ "excerpt": "# MultiQuery Retriever node The MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query. On this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources. Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most nodes, including root nodes, take any number of it...",
48840
48748
  "sections": [
48841
48749
  {
48842
- "title": "Contextual Compression Retriever node",
48750
+ "title": "MultiQuery Retriever node",
48843
48751
  "level": 1,
48844
- "content": "The Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name."
48752
+ "content": "The MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query.\n\nOn this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name."
48845
48753
  }
48846
48754
  ]
48847
48755
  },
48848
48756
  "metadata": {
48849
48757
  "keywords": [
48850
- "contextual",
48851
- "compression",
48758
+ "multiquery",
48852
48759
  "retriever",
48853
48760
  "node",
48761
+ "options",
48854
48762
  "templates",
48855
48763
  "examples",
48856
48764
  "related",
@@ -48861,61 +48769,56 @@
48861
48769
  "codeExamples": 0,
48862
48770
  "complexity": "beginner",
48863
48771
  "readingTime": "2 min",
48864
- "contentLength": 2024,
48772
+ "contentLength": 1650,
48865
48773
  "relatedPages": []
48866
48774
  },
48867
48775
  "searchIndex": {
48868
- "fullText": "contextual compression retriever # contextual compression retriever node\n\nthe contextual compression retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## templates and examples\n\n**generate contextual youtube comments automatically with gpt-4o**\n\nby yaron been\n\n[view template details](https://n8n.io/workflows/4580-generate-contextual-youtube-comments-automatically-with-gpt-4o/)\n\n**dynamic mcp server selection with openai gpt-4.1 and contextual ai reranker**\n\nby jinash rouniyar\n\n[view template details](https://n8n.io/workflows/8272-dynamic-mcp-server-selection-with-openai-gpt-41-and-contextual-ai-reranker/)\n\n**generate contextual recommendations from slack using pinecone**\n\nby rahul joshi\n\n[view template details](https://n8n.io/workflows/6018-generate-contextual-recommendations-from-slack-using-pinecone/)\n\n[browse contextual compression retriever integration templates](https://n8n.io/integrations/contextual-compression-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's contextual compression retriever documentation](https://js.langchain.com/docs/how_to/contextual_compression/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n contextual compression retriever node",
48776
+ "fullText": "multiquery retriever # multiquery retriever node\n\nthe multiquery retriever node automates the process of prompt tuning by using an llm to generate multiple queries from different perspectives for a given user input query.\n\non this page, you'll find the node parameters for the multiquery retriever node, and links to more resources.\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node options\n\n- **query count**: enter how many different versions of the query to generate.\n\n## templates and examples\n\n[browse multiquery retriever integration templates](https://n8n.io/integrations/multiquery-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's retriever conceptual documentation](https://js.langchain.com/docs/concepts/retrievers) and [langchain's multiquery retriever api documentation](https://v03.api.js.langchain.com/classes/langchain.retrievers_multi_query.multiqueryretriever.html) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n multiquery retriever node",
48869
48777
  "importantTerms": [
48870
- "contextual",
48871
- "compression",
48872
48778
  "retriever",
48779
+ "multiquery",
48780
+ "node",
48873
48781
  "nodes",
48874
48782
  "name",
48875
- "https",
48783
+ "input",
48876
48784
  "expression",
48877
- "node",
48878
- "from",
48785
+ "langchain",
48879
48786
  "items",
48880
- "input",
48881
48787
  "resolves",
48882
- "generate",
48883
- "with",
48884
- "view",
48885
- "workflows",
48886
- "using",
48788
+ "https",
48789
+ "given",
48790
+ "query",
48887
48791
  "templates",
48888
- "template",
48889
- "details"
48792
+ "documentation"
48890
48793
  ]
48891
48794
  }
48892
48795
  },
48893
48796
  {
48894
48797
  "id": "page-0620",
48895
- "title": "MultiQuery Retriever",
48896
- "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievermultiquery/index.md",
48897
- "urlPath": "integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievermultiquery/index.md",
48798
+ "title": "Contextual Compression Retriever",
48799
+ "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievercontextualcompression/index.md",
48800
+ "urlPath": "integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievercontextualcompression/index.md",
48898
48801
  "category": "cluster-nodes",
48899
48802
  "subcategory": null,
48900
48803
  "nodeName": null,
48901
48804
  "nodeType": null,
48902
48805
  "content": {
48903
- "markdown": "# MultiQuery Retriever node\n\nThe MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query.\n\nOn this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node options\n\n- **Query Count**: Enter how many different versions of the query to generate.\n\n## Templates and examples\n\n[Browse MultiQuery Retriever integration templates](https://n8n.io/integrations/multiquery-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's retriever conceptual documentation](https://js.langchain.com/docs/concepts/retrievers) and [LangChain's multiquery retriever API documentation](https://v03.api.js.langchain.com/classes/langchain.retrievers_multi_query.MultiQueryRetriever.html) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
48904
- "excerpt": "# MultiQuery Retriever node The MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query. On this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources. Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most nodes, including root nodes, take any number of it...",
48806
+ "markdown": "# Contextual Compression Retriever node\n\nThe Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Templates and examples\n\n**Generate Contextual YouTube Comments Automatically with GPT-4o**\n\nby Yaron Been\n\n[View template details](https://n8n.io/workflows/4580-generate-contextual-youtube-comments-automatically-with-gpt-4o/)\n\n**Dynamic MCP Server Selection with OpenAI GPT-4.1 and Contextual AI Reranker**\n\nby Jinash Rouniyar\n\n[View template details](https://n8n.io/workflows/8272-dynamic-mcp-server-selection-with-openai-gpt-41-and-contextual-ai-reranker/)\n\n**Generate Contextual Recommendations from Slack using Pinecone**\n\nby Rahul Joshi\n\n[View template details](https://n8n.io/workflows/6018-generate-contextual-recommendations-from-slack-using-pinecone/)\n\n[Browse Contextual Compression Retriever integration templates](https://n8n.io/integrations/contextual-compression-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChain's contextual compression retriever documentation](https://js.langchain.com/docs/how_to/contextual_compression/) for more information about the service.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n",
48807
+ "excerpt": "# Contextual Compression Retriever node The Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query. Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most nodes, including root nodes, take any number of items as input, process these items, and output the results...",
48905
48808
  "sections": [
48906
48809
  {
48907
- "title": "MultiQuery Retriever node",
48810
+ "title": "Contextual Compression Retriever node",
48908
48811
  "level": 1,
48909
- "content": "The MultiQuery Retriever node automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query.\n\nOn this page, you'll find the node parameters for the MultiQuery Retriever node, and links to more resources.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name."
48812
+ "content": "The Contextual Compression Retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name."
48910
48813
  }
48911
48814
  ]
48912
48815
  },
48913
48816
  "metadata": {
48914
48817
  "keywords": [
48915
- "multiquery",
48818
+ "contextual",
48819
+ "compression",
48916
48820
  "retriever",
48917
48821
  "node",
48918
- "options",
48919
48822
  "templates",
48920
48823
  "examples",
48921
48824
  "related",
@@ -48926,27 +48829,32 @@
48926
48829
  "codeExamples": 0,
48927
48830
  "complexity": "beginner",
48928
48831
  "readingTime": "2 min",
48929
- "contentLength": 1650,
48832
+ "contentLength": 2024,
48930
48833
  "relatedPages": []
48931
48834
  },
48932
48835
  "searchIndex": {
48933
- "fullText": "multiquery retriever # multiquery retriever node\n\nthe multiquery retriever node automates the process of prompt tuning by using an llm to generate multiple queries from different perspectives for a given user input query.\n\non this page, you'll find the node parameters for the multiquery retriever node, and links to more resources.\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node options\n\n- **query count**: enter how many different versions of the query to generate.\n\n## templates and examples\n\n[browse multiquery retriever integration templates](https://n8n.io/integrations/multiquery-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's retriever conceptual documentation](https://js.langchain.com/docs/concepts/retrievers) and [langchain's multiquery retriever api documentation](https://v03.api.js.langchain.com/classes/langchain.retrievers_multi_query.multiqueryretriever.html) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n multiquery retriever node",
48836
+ "fullText": "contextual compression retriever # contextual compression retriever node\n\nthe contextual compression retriever node improves the answers returned from [vector store](../../../../../glossary/#ai-vector-store) document similarity searches by taking into account the context from the query.\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## templates and examples\n\n**generate contextual youtube comments automatically with gpt-4o**\n\nby yaron been\n\n[view template details](https://n8n.io/workflows/4580-generate-contextual-youtube-comments-automatically-with-gpt-4o/)\n\n**dynamic mcp server selection with openai gpt-4.1 and contextual ai reranker**\n\nby jinash rouniyar\n\n[view template details](https://n8n.io/workflows/8272-dynamic-mcp-server-selection-with-openai-gpt-41-and-contextual-ai-reranker/)\n\n**generate contextual recommendations from slack using pinecone**\n\nby rahul joshi\n\n[view template details](https://n8n.io/workflows/6018-generate-contextual-recommendations-from-slack-using-pinecone/)\n\n[browse contextual compression retriever integration templates](https://n8n.io/integrations/contextual-compression-retriever/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchain's contextual compression retriever documentation](https://js.langchain.com/docs/how_to/contextual_compression/) for more information about the service.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n contextual compression retriever node",
48934
48837
  "importantTerms": [
48838
+ "contextual",
48839
+ "compression",
48935
48840
  "retriever",
48936
- "multiquery",
48937
- "node",
48938
48841
  "nodes",
48939
48842
  "name",
48940
- "input",
48843
+ "https",
48941
48844
  "expression",
48942
- "langchain",
48845
+ "node",
48846
+ "from",
48943
48847
  "items",
48848
+ "input",
48944
48849
  "resolves",
48945
- "https",
48946
- "given",
48947
- "query",
48850
+ "generate",
48851
+ "with",
48852
+ "view",
48853
+ "workflows",
48854
+ "using",
48948
48855
  "templates",
48949
- "documentation"
48856
+ "template",
48857
+ "details"
48950
48858
  ]
48951
48859
  }
48952
48860
  },
@@ -50406,7 +50314,7 @@
50406
50314
  "nodeName": null,
50407
50315
  "nodeType": null,
50408
50316
  "content": {
50409
- "markdown": "# OpenAI Chat Model node\n\nUse the OpenAI Chat Model node to use OpenAI's chat models with conversational [agents](../../../../../glossary/#ai-agent).\n\nOn this page, you'll find the node parameters for the OpenAI Chat Model node and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/openai/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nSelect the model to use to generate the completion.\n\nn8n dynamically loads models from OpenAI, and you'll only see the models available to your account.\n\n### Use Responses API\n\nOpenAI provides two endpoints for generating output from a model:\n\n- **Chat Completions**: The Chat Completions API endpoint generates a model response from a list of messages that comprise a conversation. The API requires the user to handle conversation state manually, for example by adding a [Simple Memory](../n8n-nodes-langchain.memorybufferwindow/) subnode. For new projects, OpenAI recommends to use the Responses API.\n- **Responses**: The Responses API is an agentic loop, allowing the model to call multiple built-in tools within the span of one API request. It also supports persistent conversations by passing a `conversation_id`.\n\nToggle to **Use Responses API** if you want the model to generate output using the Responses API. Otherwise, the OpenAI Chat Model node will default to using the Chat Completions API.\n\nRefer to the OpenAI documentation for a [comparison of the Chat Completions and Responses APIs](https://platform.openai.com/docs/guides/migrate-to-responses).\n\n### Built-in Tools\n\nThe OpenAI Responses API provides a range of [built-in tools](https://platform.openai.com/docs/guides/tools) to enrich the model's response. Toggle to **Use Responses API** if you want the model to have access to the following built-in tools:\n\n- **Web Search**: Allows models to search the web for the latest information before generating a response.\n- **File Search**: Allow models to search your knowledgebase from previously uploaded files for relevant information before generating a response. Refer to the [OpenAI documentation](https://platform.openai.com/docs/guides/tools-file-search) for more information.\n- **Code Interpreter**: Allows models to write and run Python code in a sandboxed environment.\n\nUse with AI Agent node\n\nBuilt-in tools are only supported when using the OpenAI Chat Model node in combination with the AI Agent node. Built-in tools aren't available when using the OpenAI Chat Model node in combination with a Basic LLM Chain node, for example.\n\n## Node options\n\nUse these options to further refine the node's behavior. The following options are available whether you use the Responses API to generate model output or not.\n\n### Frequency Penalty\n\nUse this option to control the chances of the model repeating itself. Higher values reduce the chance of the model repeating itself.\n\n### Maximum Number of Tokens\n\nEnter the maximum number of tokens used, which sets the completion length.\n\n### Presence Penalty\n\nUse this option to control the chances of the model talking about new topics. Higher values increase the chance of the model talking about new topics.\n\n### Sampling Temperature\n\nUse this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n### Timeout\n\nEnter the maximum request time in milliseconds.\n\n### Max Retries\n\nEnter the maximum number of times to retry a request.\n\n### Top P\n\nUse this option to set the probability the completion should use. Use a lower value to ignore less probable options.\n\n## Additional node options (Responses API only)\n\nThe following, additional options are available when toggling to **Use Responses API**.\n\n### Conversation ID\n\nThe conversation that this response belongs to. Input items and output items from this response are automatically added to this conversation after this response completes.\n\n### Prompt Cache Key\n\nUse this key for caching similar requests to optimize cache hit rates.\n\n### Safety Identifier\n\nApply an identifier to track users who may violate usage policies.\n\n### Service Tier\n\nSelect the service tier that fits your needs: Auto, Flex, Default, or Priority.\n\n### Metadata\n\nA set of key-value pairs for storing structured information. You can attach up to 16 pairs to an object, which is useful for adding custom data that can be used for searching by the API or in the dashboard.\n\n### Top Logprobs\n\nDefine an integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.\n\n### Output Format\n\nChoose a response format: Text, JSON Schema, or JSON Object. Use of JSON Schema is recommended, if you want to receive data in JSON format.\n\n### Prompt\n\nConfigure the prompt filled with a unique ID, its version, and substitutable variables. Prompts are configured through the OpenAI dashboard.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse OpenAI Chat Model integration templates](https://n8n.io/integrations/openai-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChains's OpenAI documentation](https://js.langchain.com/docs/integrations/chat/openai/) for more information about the service.\n\nRefer to [OpenAI documentation](https://platform.openai.com/docs/api-reference/responses/create) for more information about the parameters.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n\n## Common issues\n\nFor common questions or issues and suggested solutions, refer to [Common issues](common-issues/).\n",
50317
+ "markdown": "# OpenAI Chat Model node\n\nUse the OpenAI Chat Model node to use OpenAI's chat models with conversational [agents](../../../../../glossary/#ai-agent).\n\nOn this page, you'll find the node parameters for the OpenAI Chat Model node and links to more resources.\n\nCredentials\n\nYou can find authentication information for this node [here](../../../credentials/openai/).\n\nParameter resolution in sub-nodes\n\nSub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nMost nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nIn sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## Node parameters\n\n### Model\n\nSelect the model to use to generate the completion.\n\nn8n dynamically loads models from OpenAI, and you'll only see the models available to your account.\n\n### Use Responses API\n\nOpenAI provides two endpoints for generating output from a model:\n\n- **Chat Completions**: The Chat Completions API endpoint generates a model response from a list of messages that comprise a conversation. The API requires the user to handle conversation state manually, for example by adding a [Simple Memory](../n8n-nodes-langchain.memorybufferwindow/) subnode. For new projects, OpenAI recommends to use the Responses API.\n- **Responses**: The Responses API is an agentic loop, allowing the model to call multiple built-in tools within the span of one API request. It also supports persistent conversations by passing a `conversation_id`.\n\nToggle to **Use Responses API** if you want the model to generate output using the Responses API. Otherwise, the OpenAI Chat Model node will default to using the Chat Completions API.\n\nRefer to the OpenAI documentation for a [comparison of the Chat Completions and Responses APIs](https://platform.openai.com/docs/guides/migrate-to-responses).\n\n### Built-in Tools\n\nThe OpenAI Responses API provides a range of [built-in tools](https://platform.openai.com/docs/guides/tools) to enrich the model's response. Toggle to **Use Responses API** if you want the model to have access to the following built-in tools:\n\n- **Web Search**: Allows models to search the web for the latest information before generating a response.\n- **File Search**: Allow models to search your knowledgebase from previously uploaded files for relevant information before generating a response. Refer to the [OpenAI documentation](https://platform.openai.com/docs/guides/tools-file-search) for more information.\n- **Code Interpreter**: Allows models to write and run Python code in a sandboxed environment.\n\nUse with AI Agent node\n\nBuilt-in tools are only supported when using the OpenAI Chat Model node in combination with the AI Agent node. Built-in tools aren't available when using the OpenAI Chat Model node in combination with a Basic LLM Chain node, for example.\n\n## Node options\n\nUse these options to further refine the node's behavior. The following options are available whether you use the Responses API to generate model output or not.\n\n### Frequency Penalty\n\nUse this option to control the chances of the model repeating itself. Higher values reduce the chance of the model repeating itself.\n\n### Maximum Number of Tokens\n\nEnter the maximum number of tokens used, which sets the completion length.\n\n### Presence Penalty\n\nUse this option to control the chances of the model talking about new topics. Higher values increase the chance of the model talking about new topics.\n\n### Sampling Temperature\n\nUse this option to control the randomness of the sampling process. A higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n### Timeout\n\nEnter the maximum request time in milliseconds.\n\n### Max Retries\n\nEnter the maximum number of times to retry a request.\n\n### Top P\n\nUse this option to set the probability the completion should use. Use a lower value to ignore less probable options.\n\n## Additional node options (Responses API only)\n\nThe following, additional options are available when toggling to **Use Responses API**.\n\n### Conversation ID\n\nThe conversation that this response belongs to. Input items and output items from this response are automatically added to this conversation after this response completes.\n\n### Prompt Cache Key\n\nUse this key for caching similar requests to optimize cache hit rates.\n\n### Safety Identifier\n\nApply an identifier to track users who may violate usage policies.\n\n### Service Tier\n\nSelect the service tier that fits your needs: Auto, Flex, Default, or Priority.\n\n### Metadata\n\nA set of key-value pairs for storing structured information. You can attach up to 16 pairs to an object, which is useful for adding custom data that can be used for searching by the API or in the dashboard.\n\n### Top Logprobs\n\nDefine an integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.\n\n### Output Format\n\nChoose a response format: Text, JSON Schema, or JSON Object. Use of JSON Schema is recommended, if you want to receive data in JSON format.\n\n### Prompt\n\nConfigure the prompt filled with a unique ID, its version, and substitutable variables. Prompts are configured through the OpenAI dashboard.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse OpenAI Chat Model integration templates](https://n8n.io/integrations/openai-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources\n\nRefer to [LangChains's OpenAI documentation](https://js.langchain.com/docs/integrations/chat/openai/) for more information about the service.\n\nRefer to [OpenAI documentation](https://platform.openai.com/docs/api-reference/responses/create) for more information about the parameters.\n\nView n8n's [Advanced AI](../../../../../advanced-ai/) documentation.\n\n## Common issues\n\nFor common questions or issues and suggested solutions, refer to [Common issues](common-issues/).\n",
50410
50318
  "excerpt": "# OpenAI Chat Model node Use the OpenAI Chat Model node to use OpenAI's chat models with conversational [agents](../../../../../glossary/#ai-agent). On this page, you'll find the node parameters for the OpenAI Chat Model node and links to more resources. Credentials You can find authentication information for this node [here](../../../credentials/openai/). Parameter resolution in sub-nodes Sub-nodes behave differently to other nodes when processing multiple items using an expression. Most...",
50411
50319
  "sections": [
50412
50320
  {
@@ -50463,11 +50371,11 @@
50463
50371
  "codeExamples": 0,
50464
50372
  "complexity": "intermediate",
50465
50373
  "readingTime": "5 min",
50466
- "contentLength": 6675,
50374
+ "contentLength": 6718,
50467
50375
  "relatedPages": []
50468
50376
  },
50469
50377
  "searchIndex": {
50470
- "fullText": "openai chat model # openai chat model node\n\nuse the openai chat model node to use openai's chat models with conversational [agents](../../../../../glossary/#ai-agent).\n\non this page, you'll find the node parameters for the openai chat model node and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/openai/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\n### model\n\nselect the model to use to generate the completion.\n\nn8n dynamically loads models from openai, and you'll only see the models available to your account.\n\n### use responses api\n\nopenai provides two endpoints for generating output from a model:\n\n- **chat completions**: the chat completions api endpoint generates a model response from a list of messages that comprise a conversation. the api requires the user to handle conversation state manually, for example by adding a [simple memory](../n8n-nodes-langchain.memorybufferwindow/) subnode. for new projects, openai recommends to use the responses api.\n- **responses**: the responses api is an agentic loop, allowing the model to call multiple built-in tools within the span of one api request. it also supports persistent conversations by passing a `conversation_id`.\n\ntoggle to **use responses api** if you want the model to generate output using the responses api. otherwise, the openai chat model node will default to using the chat completions api.\n\nrefer to the openai documentation for a [comparison of the chat completions and responses apis](https://platform.openai.com/docs/guides/migrate-to-responses).\n\n### built-in tools\n\nthe openai responses api provides a range of [built-in tools](https://platform.openai.com/docs/guides/tools) to enrich the model's response. toggle to **use responses api** if you want the model to have access to the following built-in tools:\n\n- **web search**: allows models to search the web for the latest information before generating a response.\n- **file search**: allow models to search your knowledgebase from previously uploaded files for relevant information before generating a response. refer to the [openai documentation](https://platform.openai.com/docs/guides/tools-file-search) for more information.\n- **code interpreter**: allows models to write and run python code in a sandboxed environment.\n\nuse with ai agent node\n\nbuilt-in tools are only supported when using the openai chat model node in combination with the ai agent node. built-in tools aren't available when using the openai chat model node in combination with a basic llm chain node, for example.\n\n## node options\n\nuse these options to further refine the node's behavior. the following options are available whether you use the responses api to generate model output or not.\n\n### frequency penalty\n\nuse this option to control the chances of the model repeating itself. higher values reduce the chance of the model repeating itself.\n\n### maximum number of tokens\n\nenter the maximum number of tokens used, which sets the completion length.\n\n### presence penalty\n\nuse this option to control the chances of the model talking about new topics. higher values increase the chance of the model talking about new topics.\n\n### sampling temperature\n\nuse this option to control the randomness of the sampling process. a higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n### timeout\n\nenter the maximum request time in milliseconds.\n\n### max retries\n\nenter the maximum number of times to retry a request.\n\n### top p\n\nuse this option to set the probability the completion should use. use a lower value to ignore less probable options.\n\n## additional node options (responses api only)\n\nthe following, additional options are available when toggling to **use responses api**.\n\n### conversation id\n\nthe conversation that this response belongs to. input items and output items from this response are automatically added to this conversation after this response completes.\n\n### prompt cache key\n\nuse this key for caching similar requests to optimize cache hit rates.\n\n### safety identifier\n\napply an identifier to track users who may violate usage policies.\n\n### service tier\n\nselect the service tier that fits your needs: auto, flex, default, or priority.\n\n### metadata\n\na set of key-value pairs for storing structured information. you can attach up to 16 pairs to an object, which is useful for adding custom data that can be used for searching by the api or in the dashboard.\n\n### top logprobs\n\ndefine an integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.\n\n### output format\n\nchoose a response format: text, json schema, or json object. use of json schema is recommended, if you want to receive data in json format.\n\n### prompt\n\nconfigure the prompt filled with a unique id, its version, and substitutable variables. prompts are configured through the openai dashboard.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse openai chat model integration templates](https://n8n.io/integrations/openai-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchains's openai documentation](https://js.langchain.com/docs/integrations/chat/openai/) for more information about the service.\n\nrefer to [openai documentation](https://platform.openai.com/docs/api-reference/responses/create) for more information about the parameters.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n\n## common issues\n\nfor common questions or issues and suggested solutions, refer to [common issues](common-issues/).\n openai chat model node",
50378
+ "fullText": "openai chat model # openai chat model node\n\nuse the openai chat model node to use openai's chat models with conversational [agents](../../../../../glossary/#ai-agent).\n\non this page, you'll find the node parameters for the openai chat model node and links to more resources.\n\ncredentials\n\nyou can find authentication information for this node [here](../../../credentials/openai/).\n\nparameter resolution in sub-nodes\n\nsub-nodes behave differently to other nodes when processing multiple items using an expression.\n\nmost nodes, including root nodes, take any number of items as input, process these items, and output the results. you can use expressions to refer to input items, and the node resolves the expression for each item in turn. for example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.\n\nin sub-nodes, the expression always resolves to the first item. for example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.\n\n## node parameters\n\n### model\n\nselect the model to use to generate the completion.\n\nn8n dynamically loads models from openai, and you'll only see the models available to your account.\n\n### use responses api\n\nopenai provides two endpoints for generating output from a model:\n\n- **chat completions**: the chat completions api endpoint generates a model response from a list of messages that comprise a conversation. the api requires the user to handle conversation state manually, for example by adding a [simple memory](../n8n-nodes-langchain.memorybufferwindow/) subnode. for new projects, openai recommends to use the responses api.\n- **responses**: the responses api is an agentic loop, allowing the model to call multiple built-in tools within the span of one api request. it also supports persistent conversations by passing a `conversation_id`.\n\ntoggle to **use responses api** if you want the model to generate output using the responses api. otherwise, the openai chat model node will default to using the chat completions api.\n\nrefer to the openai documentation for a [comparison of the chat completions and responses apis](https://platform.openai.com/docs/guides/migrate-to-responses).\n\n### built-in tools\n\nthe openai responses api provides a range of [built-in tools](https://platform.openai.com/docs/guides/tools) to enrich the model's response. toggle to **use responses api** if you want the model to have access to the following built-in tools:\n\n- **web search**: allows models to search the web for the latest information before generating a response.\n- **file search**: allow models to search your knowledgebase from previously uploaded files for relevant information before generating a response. refer to the [openai documentation](https://platform.openai.com/docs/guides/tools-file-search) for more information.\n- **code interpreter**: allows models to write and run python code in a sandboxed environment.\n\nuse with ai agent node\n\nbuilt-in tools are only supported when using the openai chat model node in combination with the ai agent node. built-in tools aren't available when using the openai chat model node in combination with a basic llm chain node, for example.\n\n## node options\n\nuse these options to further refine the node's behavior. the following options are available whether you use the responses api to generate model output or not.\n\n### frequency penalty\n\nuse this option to control the chances of the model repeating itself. higher values reduce the chance of the model repeating itself.\n\n### maximum number of tokens\n\nenter the maximum number of tokens used, which sets the completion length.\n\n### presence penalty\n\nuse this option to control the chances of the model talking about new topics. higher values increase the chance of the model talking about new topics.\n\n### sampling temperature\n\nuse this option to control the randomness of the sampling process. a higher temperature creates more diverse sampling, but increases the risk of hallucinations.\n\n### timeout\n\nenter the maximum request time in milliseconds.\n\n### max retries\n\nenter the maximum number of times to retry a request.\n\n### top p\n\nuse this option to set the probability the completion should use. use a lower value to ignore less probable options.\n\n## additional node options (responses api only)\n\nthe following, additional options are available when toggling to **use responses api**.\n\n### conversation id\n\nthe conversation that this response belongs to. input items and output items from this response are automatically added to this conversation after this response completes.\n\n### prompt cache key\n\nuse this key for caching similar requests to optimize cache hit rates.\n\n### safety identifier\n\napply an identifier to track users who may violate usage policies.\n\n### service tier\n\nselect the service tier that fits your needs: auto, flex, default, or priority.\n\n### metadata\n\na set of key-value pairs for storing structured information. you can attach up to 16 pairs to an object, which is useful for adding custom data that can be used for searching by the api or in the dashboard.\n\n### top logprobs\n\ndefine an integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.\n\n### output format\n\nchoose a response format: text, json schema, or json object. use of json schema is recommended, if you want to receive data in json format.\n\n### prompt\n\nconfigure the prompt filled with a unique id, its version, and substitutable variables. prompts are configured through the openai dashboard.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse openai chat model integration templates](https://n8n.io/integrations/openai-chat-model/), or [search all templates](https://n8n.io/workflows/)\n\n## related resources\n\nrefer to [langchains's openai documentation](https://js.langchain.com/docs/integrations/chat/openai/) for more information about the service.\n\nrefer to [openai documentation](https://platform.openai.com/docs/api-reference/responses/create) for more information about the parameters.\n\nview n8n's [advanced ai](../../../../../advanced-ai/) documentation.\n\n## common issues\n\nfor common questions or issues and suggested solutions, refer to [common issues](common-issues/).\n openai chat model node",
50471
50379
  "importantTerms": [
50472
50380
  "openai",
50473
50381
  "model",
@@ -51350,7 +51258,7 @@
51350
51258
  "nodeName": "comparedatasets",
51351
51259
  "nodeType": "n8n-nodes-base.comparedatasets",
51352
51260
  "content": {
51353
- "markdown": "# Compare Datasets\n\nThe Compare Datasets node helps you compare data from two input streams.\n\n## Node parameters\n\n1. Decide which fields to compare. In **Input A Field**, enter the name of the field you want to use from input stream A. In **Input B Field**, enter the name of the field you want to use from input stream B.\n1. **Optional**: You can compare by multiple fields. Select **Add Fields to Match** to set up more comparisons.\n1. Choose how to handle differences between the datasets. In **When There Are Differences**, select one of the following:\n - **Use Input A Version** to treat input stream A as the source of truth.\n - **Use Input B Version** to treat input stream B as the source of truth.\n - **Use a Mix of Versions** to use different inputs for different fields.\n - Use **Prefer** to select either **Input A Version** or **Input B Version** as the main source of truth.\n - Enter input fields that are exceptions to **For Everything Except** to pull from the other input source. To add multiple input fields, enter a comma-separated list.\n - **Include Both Versions** to include both input streams in the output, which may make the structure more complex.\n1. Decide whether to use **Fuzzy Compare**. When turned on, the comparison will tolerate small type differences when comparing fields. For example, the number 3 and the string `3` are treated as the same with **Fuzzy Compare** turned on, but wouldn't be treated the same with it turned off.\n\n## Understand item comparison\n\nItem comparison is a two stage process:\n\n1. n8n checks if the values of the fields you selected to compare match across both inputs.\n1. If the fields to compare match, n8n then compares all fields within the items, to determine if the items are the same or different.\n\n## Node options\n\nUse the node **Options** to refine your comparison or tweak comparison behavior.\n\n### Fields to Skip Comparing\n\nEnter field names that you want to ignore in the comparison.\n\nFor example, if you compare the two datasets below using `person.language` as the **Fields to Match**, n8n returns them as different. If you add `person.name` to **Fields to Skip Comparing**, n8n returns them as matching.\n\n```\n\t// Input 1\n\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Stefan\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Jim\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Hans\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n\t// Input 2\n\t\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Sara\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Jane\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Harriet\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n```\n\n### Disable Dot Notation\n\nWhether to disallow referencing child fields using `parent.child` in the field name (turned on) or allow it (turned off, default).\n\n### Multiple Matches\n\nChoose how to handle duplicate data. The default is **Include All Matches**. You can choose **Include First Match Only**.\n\nFor example, given these two datasets:\n\n```\n\t// Input 1\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n\t// Input 2\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n```\n\nn8n returns three items in the **Same Branch** tab. The data is the same in both branches.\n\nIf you select **Include First Match Only**, n8n returns two items, in the **Same Branch** tab. The data is the same in both branches, but n8n only returns the first occurrence of the matching \"apple\" items.\n\n## Understand the output\n\nThere are four output options:\n\n- **In A only Branch**: Contains data that occurs only in the first input.\n- **Same Branch**: Contains data that's the same in both inputs.\n- **Different Branch**: Contains data that's different between inputs.\n- **In B only Branch**: Contains data that occurs only in the second output.\n\n## Templates and examples\n\n**Intelligent Email Organization with AI-Powered Content Classification for Gmail**\n\nby Niranjan G\n\n[View template details](https://n8n.io/workflows/4557-intelligent-email-organization-with-ai-powered-content-classification-for-gmail/)\n\n**Two way sync Pipedrive and MySQL**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1822-two-way-sync-pipedrive-and-mysql/)\n\n**Sync Google Sheets data with MySQL**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1964-sync-google-sheets-data-with-mysql/)\n\n[Browse Compare Datasets integration templates](https://n8n.io/integrations/compare-datasets/), or [search all templates](https://n8n.io/workflows/)\n",
51261
+ "markdown": "# Compare Datasets\n\nThe Compare Datasets node helps you compare data from two input streams.\n\n## Node parameters\n\n1. Decide which fields to compare. In **Input A Field**, enter the name of the field you want to use from input stream A. In **Input B Field**, enter the name of the field you want to use from input stream B.\n1. **Optional**: You can compare by multiple fields. Select **Add Fields to Match** to set up more comparisons.\n1. Choose how to handle differences between the datasets. In **When There Are Differences**, select one of the following:\n - **Use Input A Version** to treat input stream A as the source of truth.\n - **Use Input B Version** to treat input stream B as the source of truth.\n - **Use a Mix of Versions** to use different inputs for different fields.\n - Use **Prefer** to select either **Input A Version** or **Input B Version** as the main source of truth.\n - Enter input fields that are exceptions to **For Everything Except** to pull from the other input source. To add multiple input fields, enter a comma-separated list.\n - **Include Both Versions** to include both input streams in the output, which may make the structure more complex.\n1. Decide whether to use **Fuzzy Compare**. When turned on, the comparison will tolerate small type differences when comparing fields. For example, the number 3 and the string `3` are treated as the same with **Fuzzy Compare** turned on, but wouldn't be treated the same with it turned off.\n\n## Understand item comparison\n\nItem comparison is a two stage process:\n\n1. n8n checks if the values of the fields you selected to compare match across both inputs.\n1. If the fields to compare match, n8n then compares all fields within the items, to determine if the items are the same or different.\n\n## Node options\n\nUse the node **Options** to refine your comparison or tweak comparison behavior.\n\n### Fields to Skip Comparing\n\nEnter field names that you want to ignore in the comparison.\n\nFor example, if you compare the two datasets below using `person.language` as the **Fields to Match**, n8n returns them as different. If you add `person.name` to **Fields to Skip Comparing**, n8n returns them as matching.\n\n```\n\t// Input 1\n\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Stefan\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Jim\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Hans\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n\t// Input 2\n\t\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Sara\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Jane\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"Harriet\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n```\n\n### Disable Dot Notation\n\nWhether to disallow referencing child fields using `parent.child` in the field name (turned on) or allow it (turned off, default).\n\n### Multiple Matches\n\nChoose how to handle duplicate data. The default is **Include All Matches**. You can choose **Include First Match Only**.\n\nFor example, given these two datasets:\n\n```\n\t// Input 1\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n\t// Input 2\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n```\n\nn8n returns three items in the **Same Branch** tab. The data is the same in both branches.\n\nIf you select **Include First Match Only**, n8n returns two items, in the **Same Branch** tab. The data is the same in both branches, but n8n only returns the first occurrence of the matching \"apple\" items.\n\n## Understand the output\n\nThere are four output options:\n\n- **In A only Branch**: Contains data that occurs only in the first input.\n- **Same Branch**: Contains data that's the same in both inputs.\n- **Different Branch**: Contains data that's different between inputs.\n- **In B only Branch**: Contains data that occurs only in the second output.\n\n## Templates and examples\n\n**Intelligent Email Organization with AI-Powered Content Classification for Gmail**\n\nby Niranjan G\n\n[View template details](https://n8n.io/workflows/4557-intelligent-email-organization-with-ai-powered-content-classification-for-gmail/)\n\n**Two way sync Pipedrive and MySQL**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1822-two-way-sync-pipedrive-and-mysql/)\n\n**Realtime Notion Todoist 2-way sync with Redis**\n\nby Mario\n\n[View template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n[Browse Compare Datasets integration templates](https://n8n.io/integrations/compare-datasets/), or [search all templates](https://n8n.io/workflows/)\n",
51354
51262
  "excerpt": "# Compare Datasets The Compare Datasets node helps you compare data from two input streams. ## Node parameters 1. Decide which fields to compare. In **Input A Field**, enter the name of the field you want to use from input stream A. In **Input B Field**, enter the name of the field you want to use from input stream B. 1. **Optional**: You can compare by multiple fields. Select **Add Fields to Match** to set up more comparisons. 1. Choose how to handle differences between the datasets. In **Wh...",
51355
51263
  "sections": [
51356
51264
  {
@@ -51386,19 +51294,19 @@
51386
51294
  "codeExamples": 2,
51387
51295
  "complexity": "beginner",
51388
51296
  "readingTime": "4 min",
51389
- "contentLength": 4838,
51297
+ "contentLength": 4857,
51390
51298
  "relatedPages": []
51391
51299
  },
51392
51300
  "searchIndex": {
51393
- "fullText": "compare datasets # compare datasets\n\nthe compare datasets node helps you compare data from two input streams.\n\n## node parameters\n\n1. decide which fields to compare. in **input a field**, enter the name of the field you want to use from input stream a. in **input b field**, enter the name of the field you want to use from input stream b.\n1. **optional**: you can compare by multiple fields. select **add fields to match** to set up more comparisons.\n1. choose how to handle differences between the datasets. in **when there are differences**, select one of the following:\n - **use input a version** to treat input stream a as the source of truth.\n - **use input b version** to treat input stream b as the source of truth.\n - **use a mix of versions** to use different inputs for different fields.\n - use **prefer** to select either **input a version** or **input b version** as the main source of truth.\n - enter input fields that are exceptions to **for everything except** to pull from the other input source. to add multiple input fields, enter a comma-separated list.\n - **include both versions** to include both input streams in the output, which may make the structure more complex.\n1. decide whether to use **fuzzy compare**. when turned on, the comparison will tolerate small type differences when comparing fields. for example, the number 3 and the string `3` are treated as the same with **fuzzy compare** turned on, but wouldn't be treated the same with it turned off.\n\n## understand item comparison\n\nitem comparison is a two stage process:\n\n1. n8n checks if the values of the fields you selected to compare match across both inputs.\n1. if the fields to compare match, n8n then compares all fields within the items, to determine if the items are the same or different.\n\n## node options\n\nuse the node **options** to refine your comparison or tweak comparison behavior.\n\n### fields to skip comparing\n\nenter field names that you want to ignore in the comparison.\n\nfor example, if you compare the two datasets below using `person.language` as the **fields to match**, n8n returns them as different. if you add `person.name` to **fields to skip comparing**, n8n returns them as matching.\n\n```\n\t// input 1\n\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"stefan\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"jim\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"hans\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n\t// input 2\n\t\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"sara\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"jane\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"harriet\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n```\n\n### disable dot notation\n\nwhether to disallow referencing child fields using `parent.child` in the field name (turned on) or allow it (turned off, default).\n\n### multiple matches\n\nchoose how to handle duplicate data. the default is **include all matches**. you can choose **include first match only**.\n\nfor example, given these two datasets:\n\n```\n\t// input 1\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n\t// input 2\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n```\n\nn8n returns three items in the **same branch** tab. the data is the same in both branches.\n\nif you select **include first match only**, n8n returns two items, in the **same branch** tab. the data is the same in both branches, but n8n only returns the first occurrence of the matching \"apple\" items.\n\n## understand the output\n\nthere are four output options:\n\n- **in a only branch**: contains data that occurs only in the first input.\n- **same branch**: contains data that's the same in both inputs.\n- **different branch**: contains data that's different between inputs.\n- **in b only branch**: contains data that occurs only in the second output.\n\n## templates and examples\n\n**intelligent email organization with ai-powered content classification for gmail**\n\nby niranjan g\n\n[view template details](https://n8n.io/workflows/4557-intelligent-email-organization-with-ai-powered-content-classification-for-gmail/)\n\n**two way sync pipedrive and mysql**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1822-two-way-sync-pipedrive-and-mysql/)\n\n**sync google sheets data with mysql**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1964-sync-google-sheets-data-with-mysql/)\n\n[browse compare datasets integration templates](https://n8n.io/integrations/compare-datasets/), or [search all templates](https://n8n.io/workflows/)\n compare datasets",
51301
+ "fullText": "compare datasets # compare datasets\n\nthe compare datasets node helps you compare data from two input streams.\n\n## node parameters\n\n1. decide which fields to compare. in **input a field**, enter the name of the field you want to use from input stream a. in **input b field**, enter the name of the field you want to use from input stream b.\n1. **optional**: you can compare by multiple fields. select **add fields to match** to set up more comparisons.\n1. choose how to handle differences between the datasets. in **when there are differences**, select one of the following:\n - **use input a version** to treat input stream a as the source of truth.\n - **use input b version** to treat input stream b as the source of truth.\n - **use a mix of versions** to use different inputs for different fields.\n - use **prefer** to select either **input a version** or **input b version** as the main source of truth.\n - enter input fields that are exceptions to **for everything except** to pull from the other input source. to add multiple input fields, enter a comma-separated list.\n - **include both versions** to include both input streams in the output, which may make the structure more complex.\n1. decide whether to use **fuzzy compare**. when turned on, the comparison will tolerate small type differences when comparing fields. for example, the number 3 and the string `3` are treated as the same with **fuzzy compare** turned on, but wouldn't be treated the same with it turned off.\n\n## understand item comparison\n\nitem comparison is a two stage process:\n\n1. n8n checks if the values of the fields you selected to compare match across both inputs.\n1. if the fields to compare match, n8n then compares all fields within the items, to determine if the items are the same or different.\n\n## node options\n\nuse the node **options** to refine your comparison or tweak comparison behavior.\n\n### fields to skip comparing\n\nenter field names that you want to ignore in the comparison.\n\nfor example, if you compare the two datasets below using `person.language` as the **fields to match**, n8n returns them as different. if you add `person.name` to **fields to skip comparing**, n8n returns them as matching.\n\n```\n\t// input 1\n\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"stefan\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"jim\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"hans\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n\t// input 2\n\t\t[\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"sara\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"jane\",\n\t\t\t\t\"language\":\t\"en\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"person\":\n\t\t\t{\n\t\t\t\t\"name\":\t\"harriet\",\n\t\t\t\t\"language\":\t\"de\"\n\t\t\t}\n\t\t}\n\t]\n```\n\n### disable dot notation\n\nwhether to disallow referencing child fields using `parent.child` in the field name (turned on) or allow it (turned off, default).\n\n### multiple matches\n\nchoose how to handle duplicate data. the default is **include all matches**. you can choose **include first match only**.\n\nfor example, given these two datasets:\n\n```\n\t// input 1\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n\t// input 2\n\t[\n\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"apple\",\n\t\t\t\t\"color\": \"red\"\n\t\t\t}\n\t\t},\n\t\t\t\t{\n\t\t\t\"fruit\": {\n\t\t\t\t\"type\": \"banana\",\n\t\t\t\t\"color\": \"yellow\"\n\t\t\t}\n\t\t}\n\t]\n```\n\nn8n returns three items in the **same branch** tab. the data is the same in both branches.\n\nif you select **include first match only**, n8n returns two items, in the **same branch** tab. the data is the same in both branches, but n8n only returns the first occurrence of the matching \"apple\" items.\n\n## understand the output\n\nthere are four output options:\n\n- **in a only branch**: contains data that occurs only in the first input.\n- **same branch**: contains data that's the same in both inputs.\n- **different branch**: contains data that's different between inputs.\n- **in b only branch**: contains data that occurs only in the second output.\n\n## templates and examples\n\n**intelligent email organization with ai-powered content classification for gmail**\n\nby niranjan g\n\n[view template details](https://n8n.io/workflows/4557-intelligent-email-organization-with-ai-powered-content-classification-for-gmail/)\n\n**two way sync pipedrive and mysql**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1822-two-way-sync-pipedrive-and-mysql/)\n\n**realtime notion todoist 2-way sync with redis**\n\nby mario\n\n[view template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n[browse compare datasets integration templates](https://n8n.io/integrations/compare-datasets/), or [search all templates](https://n8n.io/workflows/)\n compare datasets",
51394
51302
  "importantTerms": [
51395
51303
  "input",
51396
51304
  "compare",
51397
51305
  "fields",
51398
- "data",
51399
51306
  "name",
51400
51307
  "datasets",
51401
51308
  "same",
51309
+ "data",
51402
51310
  "person",
51403
51311
  "type",
51404
51312
  "language",
@@ -51432,7 +51340,6 @@
51432
51340
  "contains",
51433
51341
  "workflows",
51434
51342
  "sync",
51435
- "mysql",
51436
51343
  "want",
51437
51344
  "multiple",
51438
51345
  "choose",
@@ -51441,7 +51348,8 @@
51441
51348
  "truth",
51442
51349
  "comparing",
51443
51350
  "example",
51444
- "options"
51351
+ "options",
51352
+ "templates"
51445
51353
  ]
51446
51354
  }
51447
51355
  },
@@ -52559,7 +52467,7 @@
52559
52467
  "nodeName": "executiondata",
52560
52468
  "nodeType": "n8n-nodes-base.executiondata",
52561
52469
  "content": {
52562
- "markdown": "# Execution Data\n\nUse this node to save metadata for workflow executions. You can then search by this data in the **Executions** list.\n\nYou can retrieve custom execution data during workflow execution using the Code node. Refer to [Custom executions data](../../../../workflows/executions/custom-executions-data/) for more information.\n\nFeature availability\n\nCustom executions data is available on:\n\n- Cloud: Pro, Enterprise\n- Self-Hosted: Enterprise, registered Community\n\n## Operations\n\n- Save Execution Data for Search\n\n## Data to Save\n\nAdd a **Saved Field** for each key/value pair of metadata you'd like to save.\n\n## Limitations\n\nThe Execution Data node has the following restrictions when storing execution metadata:\n\n- `key`: limited to 50 characters\n- `value`: limited to 512 characters\n\nIf either the `key` or `value` exceed the above limitations, n8n truncates to their maximum length and outputs a log entry.\n\n## Templates and examples\n\n**Host Your Own AI Deep Research Agent with n8n, Apify and OpenAI o3**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2878-host-your-own-ai-deep-research-agent-with-n8n-apify-and-openai-o3/)\n\n**API Schema Extractor**\n\nby Polina Medvedieva\n\n[View template details](https://n8n.io/workflows/2658-api-schema-extractor/)\n\n**Realtime Notion Todoist 2-way Sync with Redis**\n\nby Mario\n\n[View template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n[Browse Execution Data integration templates](https://n8n.io/integrations/execution-data/), or [search all templates](https://n8n.io/workflows/)\n",
52470
+ "markdown": "# Execution Data\n\nUse this node to save metadata for workflow executions. You can then search by this data in the **Executions** list.\n\nYou can retrieve custom execution data during workflow execution using the Code node. Refer to [Custom executions data](../../../../workflows/executions/custom-executions-data/) for more information.\n\nFeature availability\n\nCustom executions data is available on:\n\n- Cloud: Pro, Enterprise\n- Self-Hosted: Enterprise, registered Community\n\n## Operations\n\n- Save Execution Data for Search\n\n## Data to Save\n\nAdd a **Saved Field** for each key/value pair of metadata you'd like to save.\n\n## Limitations\n\nThe Execution Data node has the following restrictions when storing execution metadata:\n\n- `key`: limited to 50 characters\n- `value`: limited to 512 characters\n\nIf either the `key` or `value` exceed the above limitations, n8n truncates to their maximum length and outputs a log entry.\n\n## Templates and examples\n\n**Host Your Own AI Deep Research Agent with n8n, Apify and OpenAI o3**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2878-host-your-own-ai-deep-research-agent-with-n8n-apify-and-openai-o3/)\n\n**API Schema Extractor**\n\nby Polina Medvedieva\n\n[View template details](https://n8n.io/workflows/2658-api-schema-extractor/)\n\n**Realtime Notion Todoist 2-way sync with Redis**\n\nby Mario\n\n[View template details](https://n8n.io/workflows/2772-realtime-notion-todoist-2-way-sync-with-redis/)\n\n[Browse Execution Data integration templates](https://n8n.io/integrations/execution-data/), or [search all templates](https://n8n.io/workflows/)\n",
52563
52471
  "excerpt": "# Execution Data Use this node to save metadata for workflow executions. You can then search by this data in the **Executions** list. You can retrieve custom execution data during workflow execution using the Code node. Refer to [Custom executions data](../../../../workflows/executions/custom-executions-data/) for more information. Feature availability Custom executions data is available on: - Cloud: Pro, Enterprise - Self-Hosted: Enterprise, registered Community ## Operations - Save Exec...",
52564
52472
  "sections": [
52565
52473
  {
@@ -53440,7 +53348,7 @@
53440
53348
  "nodeName": "if",
53441
53349
  "nodeType": "n8n-nodes-base.if",
53442
53350
  "content": {
53443
- "markdown": "# If\n\nUse the If node to split a workflow conditionally based on comparison operations.\n\n## Add conditions\n\nCreate comparison **Conditions** for your If node.\n\n- Use the data type dropdown to select the data type and comparison operation type for your condition. For example, to filter for dates after a particular date, select **Date & Time > is after**.\n- The fields and values to enter into the condition change based on the data type and comparison you select. Refer to [Available data type comparisons](#available-data-type-comparisons) for a full list of all comparisons by data type.\n\nSelect **Add condition** to create more conditions.\n\n### Combining conditions\n\nYou can choose to keep data:\n\n- When it meets all conditions: Create two or more conditions and select **AND** in the dropdown between them.\n- When it meets any of the conditions: Create two or more conditions and select **OR** in the dropdown between them.\n\n## Templates and examples\n\n**AI agent that can scrape webpages**\n\nby Eduard\n\n[View template details](https://n8n.io/workflows/2006-ai-agent-that-can-scrape-webpages/)\n\n**✨🤖Automate Multi-Platform Social Media Content Creation with AI**\n\nby Joseph LePage\n\n[View template details](https://n8n.io/workflows/3066-automate-multi-platform-social-media-content-creation-with-ai/)\n\n**Pulling data from services that n8n doesn’t have a pre-built integration for**\n\nby Jonathan\n\n[View template details](https://n8n.io/workflows/1748-pulling-data-from-services-that-n8n-doesnt-have-a-pre-built-integration-for/)\n\n[Browse If integration templates](https://n8n.io/integrations/if/), or [search all templates](https://n8n.io/workflows/)\n\n## Branch execution with If and Merge nodes\n\n0.236.0 and below\n\nn8n removed this execution behavior in version 1.0. This section applies to workflows using the **v0 (legacy)** workflow execution order. By default, this is all workflows built before version 1.0. You can change the execution order in your [workflow settings](../../../../workflows/settings/).\n\nIf you add a Merge node to a workflow containing an If node, it can result in both output data streams of the If node executing.\n\nOne data stream triggers the Merge node, which then goes and executes the other data stream.\n\nFor example, in the screenshot below there's a workflow containing an Edit Fields node, If node, and Merge node. The standard If node behavior is to execute one data stream (in the screenshot, this is the **true** output). However, due to the Merge node, both data streams execute, despite the If node not sending any data down the **false** data stream.\n\n## Related resources\n\nRefer to [Splitting with conditionals](../../../../flow-logic/splitting/) for more information on using conditionals to create complex logic in n8n.\n\nIf you need more than two conditional outputs, use the [Switch node](../n8n-nodes-base.switch/).\n\n## Available data type comparisons\n\n### String\n\nString data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- contains\n- does not contain\n- starts with\n- does not start with\n- ends with\n- does not end with\n- matches regex\n- does not match regex\n\n### Number\n\nNumber data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is greater than\n- is less than\n- is greater than or equal to\n- is less than or equal to\n\n### Date & Time\n\nDate & Time data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is after\n- is before\n- is after or equal to\n- is before or equal to\n\n### Boolean\n\nBoolean data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is true\n- is false\n- is equal to\n- is not equal to\n\n### Array\n\nArray data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- contains\n- does not contain\n- length equal to\n- length not equal to\n- length greater than\n- length less than\n- length greater than or equal to\n- length less than or equal to\n\n### Object\n\nObject data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n",
53351
+ "markdown": "# If\n\nUse the If node to split a workflow conditionally based on comparison operations.\n\n## Add conditions\n\nCreate comparison **Conditions** for your If node.\n\n- Use the data type dropdown to select the data type and comparison operation type for your condition. For example, to filter for dates after a particular date, select **Date & Time > is after**.\n- The fields and values to enter into the condition change based on the data type and comparison you select. Refer to [Available data type comparisons](#available-data-type-comparisons) for a full list of all comparisons by data type.\n\nSelect **Add condition** to create more conditions.\n\n### Combining conditions\n\nYou can choose to keep data:\n\n- When it meets all conditions: Create two or more conditions and select **AND** in the dropdown between them.\n- When it meets any of the conditions: Create two or more conditions and select **OR** in the dropdown between them.\n\n## Templates and examples\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n**AI agent that can scrape webpages**\n\nby Eduard\n\n[View template details](https://n8n.io/workflows/2006-ai-agent-that-can-scrape-webpages/)\n\n**✨🤖Automate Multi-Platform Social Media Content Creation with AI**\n\nby Joseph LePage\n\n[View template details](https://n8n.io/workflows/3066-automate-multi-platform-social-media-content-creation-with-ai/)\n\n[Browse If integration templates](https://n8n.io/integrations/if/), or [search all templates](https://n8n.io/workflows/)\n\n## Branch execution with If and Merge nodes\n\n0.236.0 and below\n\nn8n removed this execution behavior in version 1.0. This section applies to workflows using the **v0 (legacy)** workflow execution order. By default, this is all workflows built before version 1.0. You can change the execution order in your [workflow settings](../../../../workflows/settings/).\n\nIf you add a Merge node to a workflow containing an If node, it can result in both output data streams of the If node executing.\n\nOne data stream triggers the Merge node, which then goes and executes the other data stream.\n\nFor example, in the screenshot below there's a workflow containing an Edit Fields node, If node, and Merge node. The standard If node behavior is to execute one data stream (in the screenshot, this is the **true** output). However, due to the Merge node, both data streams execute, despite the If node not sending any data down the **false** data stream.\n\n## Related resources\n\nRefer to [Splitting with conditionals](../../../../flow-logic/splitting/) for more information on using conditionals to create complex logic in n8n.\n\nIf you need more than two conditional outputs, use the [Switch node](../n8n-nodes-base.switch/).\n\n## Available data type comparisons\n\n### String\n\nString data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- contains\n- does not contain\n- starts with\n- does not start with\n- ends with\n- does not end with\n- matches regex\n- does not match regex\n\n### Number\n\nNumber data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is greater than\n- is less than\n- is greater than or equal to\n- is less than or equal to\n\n### Date & Time\n\nDate & Time data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is after\n- is before\n- is after or equal to\n- is before or equal to\n\n### Boolean\n\nBoolean data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is true\n- is false\n- is equal to\n- is not equal to\n\n### Array\n\nArray data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- contains\n- does not contain\n- length equal to\n- length not equal to\n- length greater than\n- length less than\n- length greater than or equal to\n- length less than or equal to\n\n### Object\n\nObject data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n",
53444
53352
  "excerpt": "# If Use the If node to split a workflow conditionally based on comparison operations. ## Add conditions Create comparison **Conditions** for your If node. - Use the data type dropdown to select the data type and comparison operation type for your condition. For example, to filter for dates after a particular date, select **Date & Time > is after**. - The fields and values to enter into the condition change based on the data type and comparison you select. Refer to [Available data type compa...",
53445
53353
  "sections": [
53446
53354
  {
@@ -53480,11 +53388,11 @@
53480
53388
  "codeExamples": 0,
53481
53389
  "complexity": "beginner",
53482
53390
  "readingTime": "4 min",
53483
- "contentLength": 4198,
53391
+ "contentLength": 4164,
53484
53392
  "relatedPages": []
53485
53393
  },
53486
53394
  "searchIndex": {
53487
- "fullText": "if # if\n\nuse the if node to split a workflow conditionally based on comparison operations.\n\n## add conditions\n\ncreate comparison **conditions** for your if node.\n\n- use the data type dropdown to select the data type and comparison operation type for your condition. for example, to filter for dates after a particular date, select **date & time > is after**.\n- the fields and values to enter into the condition change based on the data type and comparison you select. refer to [available data type comparisons](#available-data-type-comparisons) for a full list of all comparisons by data type.\n\nselect **add condition** to create more conditions.\n\n### combining conditions\n\nyou can choose to keep data:\n\n- when it meets all conditions: create two or more conditions and select **and** in the dropdown between them.\n- when it meets any of the conditions: create two or more conditions and select **or** in the dropdown between them.\n\n## templates and examples\n\n**ai agent that can scrape webpages**\n\nby eduard\n\n[view template details](https://n8n.io/workflows/2006-ai-agent-that-can-scrape-webpages/)\n\n**✨🤖automate multi-platform social media content creation with ai**\n\nby joseph lepage\n\n[view template details](https://n8n.io/workflows/3066-automate-multi-platform-social-media-content-creation-with-ai/)\n\n**pulling data from services that n8n doesn’t have a pre-built integration for**\n\nby jonathan\n\n[view template details](https://n8n.io/workflows/1748-pulling-data-from-services-that-n8n-doesnt-have-a-pre-built-integration-for/)\n\n[browse if integration templates](https://n8n.io/integrations/if/), or [search all templates](https://n8n.io/workflows/)\n\n## branch execution with if and merge nodes\n\n0.236.0 and below\n\nn8n removed this execution behavior in version 1.0. this section applies to workflows using the **v0 (legacy)** workflow execution order. by default, this is all workflows built before version 1.0. you can change the execution order in your [workflow settings](../../../../workflows/settings/).\n\nif you add a merge node to a workflow containing an if node, it can result in both output data streams of the if node executing.\n\none data stream triggers the merge node, which then goes and executes the other data stream.\n\nfor example, in the screenshot below there's a workflow containing an edit fields node, if node, and merge node. the standard if node behavior is to execute one data stream (in the screenshot, this is the **true** output). however, due to the merge node, both data streams execute, despite the if node not sending any data down the **false** data stream.\n\n## related resources\n\nrefer to [splitting with conditionals](../../../../flow-logic/splitting/) for more information on using conditionals to create complex logic in n8n.\n\nif you need more than two conditional outputs, use the [switch node](../n8n-nodes-base.switch/).\n\n## available data type comparisons\n\n### string\n\nstring data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- contains\n- does not contain\n- starts with\n- does not start with\n- ends with\n- does not end with\n- matches regex\n- does not match regex\n\n### number\n\nnumber data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is greater than\n- is less than\n- is greater than or equal to\n- is less than or equal to\n\n### date & time\n\ndate & time data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is after\n- is before\n- is after or equal to\n- is before or equal to\n\n### boolean\n\nboolean data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is true\n- is false\n- is equal to\n- is not equal to\n\n### array\n\narray data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- contains\n- does not contain\n- length equal to\n- length not equal to\n- length greater than\n- length less than\n- length greater than or equal to\n- length less than or equal to\n\n### object\n\nobject data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n if",
53395
+ "fullText": "if # if\n\nuse the if node to split a workflow conditionally based on comparison operations.\n\n## add conditions\n\ncreate comparison **conditions** for your if node.\n\n- use the data type dropdown to select the data type and comparison operation type for your condition. for example, to filter for dates after a particular date, select **date & time > is after**.\n- the fields and values to enter into the condition change based on the data type and comparison you select. refer to [available data type comparisons](#available-data-type-comparisons) for a full list of all comparisons by data type.\n\nselect **add condition** to create more conditions.\n\n### combining conditions\n\nyou can choose to keep data:\n\n- when it meets all conditions: create two or more conditions and select **and** in the dropdown between them.\n- when it meets any of the conditions: create two or more conditions and select **or** in the dropdown between them.\n\n## templates and examples\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n**ai agent that can scrape webpages**\n\nby eduard\n\n[view template details](https://n8n.io/workflows/2006-ai-agent-that-can-scrape-webpages/)\n\n**✨🤖automate multi-platform social media content creation with ai**\n\nby joseph lepage\n\n[view template details](https://n8n.io/workflows/3066-automate-multi-platform-social-media-content-creation-with-ai/)\n\n[browse if integration templates](https://n8n.io/integrations/if/), or [search all templates](https://n8n.io/workflows/)\n\n## branch execution with if and merge nodes\n\n0.236.0 and below\n\nn8n removed this execution behavior in version 1.0. this section applies to workflows using the **v0 (legacy)** workflow execution order. by default, this is all workflows built before version 1.0. you can change the execution order in your [workflow settings](../../../../workflows/settings/).\n\nif you add a merge node to a workflow containing an if node, it can result in both output data streams of the if node executing.\n\none data stream triggers the merge node, which then goes and executes the other data stream.\n\nfor example, in the screenshot below there's a workflow containing an edit fields node, if node, and merge node. the standard if node behavior is to execute one data stream (in the screenshot, this is the **true** output). however, due to the merge node, both data streams execute, despite the if node not sending any data down the **false** data stream.\n\n## related resources\n\nrefer to [splitting with conditionals](../../../../flow-logic/splitting/) for more information on using conditionals to create complex logic in n8n.\n\nif you need more than two conditional outputs, use the [switch node](../n8n-nodes-base.switch/).\n\n## available data type comparisons\n\n### string\n\nstring data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- contains\n- does not contain\n- starts with\n- does not start with\n- ends with\n- does not end with\n- matches regex\n- does not match regex\n\n### number\n\nnumber data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is greater than\n- is less than\n- is greater than or equal to\n- is less than or equal to\n\n### date & time\n\ndate & time data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is equal to\n- is not equal to\n- is after\n- is before\n- is after or equal to\n- is before or equal to\n\n### boolean\n\nboolean data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- is true\n- is false\n- is equal to\n- is not equal to\n\n### array\n\narray data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n- contains\n- does not contain\n- length equal to\n- length not equal to\n- length greater than\n- length less than\n- length greater than or equal to\n- length less than or equal to\n\n### object\n\nobject data type supports these comparisons:\n\n- exists\n- does not exist\n- is empty\n- is not empty\n if",
53488
53396
  "importantTerms": [
53489
53397
  "data",
53490
53398
  "equal",
@@ -53493,9 +53401,9 @@
53493
53401
  "empty",
53494
53402
  "does",
53495
53403
  "comparisons",
53404
+ "with",
53496
53405
  "than",
53497
53406
  "conditions",
53498
- "with",
53499
53407
  "workflows",
53500
53408
  "select",
53501
53409
  "supports",
@@ -53511,7 +53419,6 @@
53511
53419
  "comparison",
53512
53420
  "after",
53513
53421
  "date",
53514
- "that",
53515
53422
  "execution",
53516
53423
  "this",
53517
53424
  "stream",
@@ -53526,8 +53433,6 @@
53526
53433
  "view",
53527
53434
  "template",
53528
53435
  "details",
53529
- "built",
53530
- "integration",
53531
53436
  "before"
53532
53437
  ]
53533
53438
  }
@@ -54930,7 +54835,7 @@
54930
54835
  "nodeName": "set",
54931
54836
  "nodeType": "n8n-nodes-base.set",
54932
54837
  "content": {
54933
- "markdown": "# Edit Fields (Set)\n\nUse the Edit Fields node to set workflow data. This node can set new data as well as overwrite data that already exists. This node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values to Google Sheets or databases.\n\n## Node parameters\n\nThese are the settings and options available in the Edit Fields node.\n\n### Mode\n\nYou can either use **Manual Mapping** to edit fields using the GUI or **JSON Output** to write JSON that n8n adds to the input data.\n\n### Fields to Set\n\nIf you select **Mode** > **Manual Mapping**, you can configure the fields by dragging and dropping values from **INPUT**.\n\nThe default behavior when you drag a value is:\n\n- n8n sets the value's name as the field name.\n- The field value contains an expression which accesses the value.\n\nIf you don't want to use expressions:\n\n1. Hover over a field. n8n displays the **Fixed | Expressions** toggle.\n1. Select **Fixed**.\n\nYou can do this for both the name and value of the field.\n\n### Keep Only Set Fields\n\nEnable this to discard any input data that you don't use in **Fields to Set**.\n\n### Include in Output\n\nChoose which input data to include in the node's output data.\n\n## Node options\n\nUse these options to customize the behavior of the node.\n\n### Include Binary Data\n\nIf the input data includes binary data, choose whether to include it in the Edit Fields node's output data.\n\n### Ignore Type Conversion Errors\n\nManual Mapping only.\n\nEnabling this allows n8n to ignore some data type errors when mapping fields.\n\n### Support Dot Notation\n\nBy default, n8n supports dot notation.\n\nFor example, when using manual mapping, the node follows the dot notation for the **Name** field. That means if you set the name in the **Name** field as `number.one` and the value in the **Value** field as `20`, the resulting JSON is:\n\n```\n{ \"number\": { \"one\": 20} }\n```\n\nYou can prevent this behavior by selecting **Add Option** > **Support Dot Notation**, and setting the **Dot Notion** field to off. Now the resulting JSON is:\n\n```\n{ \"number.one\": 20 }\n```\n\n## Templates and examples\n\n**Creating an API endpoint**\n\nby Jonathan\n\n[View template details](https://n8n.io/workflows/1750-creating-an-api-endpoint/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n**Very quick quickstart**\n\nby Deborah\n\n[View template details](https://n8n.io/workflows/1700-very-quick-quickstart/)\n\n[Browse Edit Fields (Set) integration templates](https://n8n.io/integrations/set/), or [search all templates](https://n8n.io/workflows/)\n\n## Arrays and expressions in JSON Output mode\n\nYou can use arrays and expressions when creating your JSON Output.\n\nFor example, given this input data generated by the Customer Datastore node:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"Jay Gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"Keeps asking about a green light??\",\n \"country\": \"US\",\n \"created\": \"1925-04-10\"\n },\n {\n \"id\": \"23423533\",\n \"name\": \"José Arcadio Buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"Lots of people named after him. Very confusing\",\n \"country\": \"CO\",\n \"created\": \"1967-05-05\"\n },\n {\n \"id\": \"23423534\",\n \"name\": \"Max Sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"Keeps rolling his terrible eyes\",\n \"country\": \"US\",\n \"created\": \"1963-04-09\"\n },\n {\n \"id\": \"23423535\",\n \"name\": \"Zaphod Beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"Felt like I was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\"\n },\n {\n \"id\": \"23423536\",\n \"name\": \"Edmund Pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"Passionate sailor\",\n \"country\": \"UK\",\n \"created\": \"1950-10-16\"\n }\n]\n```\n\nAdd the following JSON in the **JSON Output** field, with **Include in Output** set to **All Input Fields**:\n\n```\n{\n \"newKey\": \"new value\",\n \"array\": [{{ $json.id }},\"{{ $json.name }}\"],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"{{ $json.id }}\",\n \"innerKey3\": \"{{ $json.name }}\",\n }\n}\n```\n\nYou get this output:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"Jay Gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"Keeps asking about a green light??\",\n \"country\": \"US\",\n \"created\": \"1925-04-10\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423532,\n \"Jay Gatsby\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423532\",\n \"innerKey3\": \"Jay Gatsby\"\n }\n },\n {\n \"id\": \"23423533\",\n \"name\": \"José Arcadio Buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"Lots of people named after him. Very confusing\",\n \"country\": \"CO\",\n \"created\": \"1967-05-05\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423533,\n \"José Arcadio Buendía\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423533\",\n \"innerKey3\": \"José Arcadio Buendía\"\n }\n },\n {\n \"id\": \"23423534\",\n \"name\": \"Max Sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"Keeps rolling his terrible eyes\",\n \"country\": \"US\",\n \"created\": \"1963-04-09\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423534,\n \"Max Sendak\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423534\",\n \"innerKey3\": \"Max Sendak\"\n }\n },\n {\n \"id\": \"23423535\",\n \"name\": \"Zaphod Beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"Felt like I was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423535,\n \"Zaphod Beeblebrox\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423535\",\n \"innerKey3\": \"Zaphod Beeblebrox\"\n }\n },\n {\n \"id\": \"23423536\",\n \"name\": \"Edmund Pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"Passionate sailor\",\n \"country\": \"UK\",\n \"created\": \"1950-10-16\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423536,\n \"Edmund Pevensie\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423536\",\n \"innerKey3\": \"Edmund Pevensie\"\n }\n }\n]\n```\n",
54838
+ "markdown": "# Edit Fields (Set)\n\nUse the Edit Fields node to set workflow data. This node can set new data as well as overwrite data that already exists. This node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values to Google Sheets or databases.\n\n## Node parameters\n\nThese are the settings and options available in the Edit Fields node.\n\n### Mode\n\nYou can either use **Manual Mapping** to edit fields using the GUI or **JSON Output** to write JSON that n8n adds to the input data.\n\n### Fields to Set\n\nIf you select **Mode** > **Manual Mapping**, you can configure the fields by dragging and dropping values from **INPUT**.\n\nThe default behavior when you drag a value is:\n\n- n8n sets the value's name as the field name.\n- The field value contains an expression which accesses the value.\n\nIf you don't want to use expressions:\n\n1. Hover over a field. n8n displays the **Fixed | Expressions** toggle.\n1. Select **Fixed**.\n\nYou can do this for both the name and value of the field.\n\n### Keep Only Set Fields\n\nEnable this to discard any input data that you don't use in **Fields to Set**.\n\n### Include in Output\n\nChoose which input data to include in the node's output data.\n\n## Node options\n\nUse these options to customize the behavior of the node.\n\n### Include Binary Data\n\nIf the input data includes binary data, choose whether to include it in the Edit Fields node's output data.\n\n### Ignore Type Conversion Errors\n\nManual Mapping only.\n\nEnabling this allows n8n to ignore some data type errors when mapping fields.\n\n### Support Dot Notation\n\nBy default, n8n supports dot notation.\n\nFor example, when using manual mapping, the node follows the dot notation for the **Name** field. That means if you set the name in the **Name** field as `number.one` and the value in the **Value** field as `20`, the resulting JSON is:\n\n```\n{ \"number\": { \"one\": 20} }\n```\n\nYou can prevent this behavior by selecting **Add Option** > **Support Dot Notation**, and setting the **Dot Notion** field to off. Now the resulting JSON is:\n\n```\n{ \"number.one\": 20 }\n```\n\n## Templates and examples\n\n**Creating an API endpoint**\n\nby Jonathan\n\n[View template details](https://n8n.io/workflows/1750-creating-an-api-endpoint/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Edit Fields (Set) integration templates](https://n8n.io/integrations/set/), or [search all templates](https://n8n.io/workflows/)\n\n## Arrays and expressions in JSON Output mode\n\nYou can use arrays and expressions when creating your JSON Output.\n\nFor example, given this input data generated by the Customer Datastore node:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"Jay Gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"Keeps asking about a green light??\",\n \"country\": \"US\",\n \"created\": \"1925-04-10\"\n },\n {\n \"id\": \"23423533\",\n \"name\": \"José Arcadio Buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"Lots of people named after him. Very confusing\",\n \"country\": \"CO\",\n \"created\": \"1967-05-05\"\n },\n {\n \"id\": \"23423534\",\n \"name\": \"Max Sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"Keeps rolling his terrible eyes\",\n \"country\": \"US\",\n \"created\": \"1963-04-09\"\n },\n {\n \"id\": \"23423535\",\n \"name\": \"Zaphod Beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"Felt like I was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\"\n },\n {\n \"id\": \"23423536\",\n \"name\": \"Edmund Pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"Passionate sailor\",\n \"country\": \"UK\",\n \"created\": \"1950-10-16\"\n }\n]\n```\n\nAdd the following JSON in the **JSON Output** field, with **Include in Output** set to **All Input Fields**:\n\n```\n{\n \"newKey\": \"new value\",\n \"array\": [{{ $json.id }},\"{{ $json.name }}\"],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"{{ $json.id }}\",\n \"innerKey3\": \"{{ $json.name }}\",\n }\n}\n```\n\nYou get this output:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"Jay Gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"Keeps asking about a green light??\",\n \"country\": \"US\",\n \"created\": \"1925-04-10\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423532,\n \"Jay Gatsby\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423532\",\n \"innerKey3\": \"Jay Gatsby\"\n }\n },\n {\n \"id\": \"23423533\",\n \"name\": \"José Arcadio Buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"Lots of people named after him. Very confusing\",\n \"country\": \"CO\",\n \"created\": \"1967-05-05\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423533,\n \"José Arcadio Buendía\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423533\",\n \"innerKey3\": \"José Arcadio Buendía\"\n }\n },\n {\n \"id\": \"23423534\",\n \"name\": \"Max Sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"Keeps rolling his terrible eyes\",\n \"country\": \"US\",\n \"created\": \"1963-04-09\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423534,\n \"Max Sendak\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423534\",\n \"innerKey3\": \"Max Sendak\"\n }\n },\n {\n \"id\": \"23423535\",\n \"name\": \"Zaphod Beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"Felt like I was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423535,\n \"Zaphod Beeblebrox\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423535\",\n \"innerKey3\": \"Zaphod Beeblebrox\"\n }\n },\n {\n \"id\": \"23423536\",\n \"name\": \"Edmund Pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"Passionate sailor\",\n \"country\": \"UK\",\n \"created\": \"1950-10-16\",\n \"newKey\": \"new value\",\n \"array\": [\n 23423536,\n \"Edmund Pevensie\"\n ],\n \"object\": {\n \"innerKey1\": \"new value\",\n \"innerKey2\": \"23423536\",\n \"innerKey3\": \"Edmund Pevensie\"\n }\n }\n]\n```\n",
54934
54839
  "excerpt": "# Edit Fields (Set) Use the Edit Fields node to set workflow data. This node can set new data as well as overwrite data that already exists. This node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values to Google Sheets or databases. ## Node parameters These are the settings and options available in the Edit Fields node. ### Mode You can either use **Manual Mapping** to edit fields using the GUI or **JSON Output** to write JSON that n8n adds...",
54935
54840
  "sections": [
54936
54841
  {
@@ -54972,11 +54877,11 @@
54972
54877
  "codeExamples": 5,
54973
54878
  "complexity": "intermediate",
54974
54879
  "readingTime": "5 min",
54975
- "contentLength": 6245,
54880
+ "contentLength": 6321,
54976
54881
  "relatedPages": []
54977
54882
  },
54978
54883
  "searchIndex": {
54979
- "fullText": "edit fields (set) # edit fields (set)\n\nuse the edit fields node to set workflow data. this node can set new data as well as overwrite data that already exists. this node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values to google sheets or databases.\n\n## node parameters\n\nthese are the settings and options available in the edit fields node.\n\n### mode\n\nyou can either use **manual mapping** to edit fields using the gui or **json output** to write json that n8n adds to the input data.\n\n### fields to set\n\nif you select **mode** > **manual mapping**, you can configure the fields by dragging and dropping values from **input**.\n\nthe default behavior when you drag a value is:\n\n- n8n sets the value's name as the field name.\n- the field value contains an expression which accesses the value.\n\nif you don't want to use expressions:\n\n1. hover over a field. n8n displays the **fixed | expressions** toggle.\n1. select **fixed**.\n\nyou can do this for both the name and value of the field.\n\n### keep only set fields\n\nenable this to discard any input data that you don't use in **fields to set**.\n\n### include in output\n\nchoose which input data to include in the node's output data.\n\n## node options\n\nuse these options to customize the behavior of the node.\n\n### include binary data\n\nif the input data includes binary data, choose whether to include it in the edit fields node's output data.\n\n### ignore type conversion errors\n\nmanual mapping only.\n\nenabling this allows n8n to ignore some data type errors when mapping fields.\n\n### support dot notation\n\nby default, n8n supports dot notation.\n\nfor example, when using manual mapping, the node follows the dot notation for the **name** field. that means if you set the name in the **name** field as `number.one` and the value in the **value** field as `20`, the resulting json is:\n\n```\n{ \"number\": { \"one\": 20} }\n```\n\nyou can prevent this behavior by selecting **add option** > **support dot notation**, and setting the **dot notion** field to off. now the resulting json is:\n\n```\n{ \"number.one\": 20 }\n```\n\n## templates and examples\n\n**creating an api endpoint**\n\nby jonathan\n\n[view template details](https://n8n.io/workflows/1750-creating-an-api-endpoint/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n**very quick quickstart**\n\nby deborah\n\n[view template details](https://n8n.io/workflows/1700-very-quick-quickstart/)\n\n[browse edit fields (set) integration templates](https://n8n.io/integrations/set/), or [search all templates](https://n8n.io/workflows/)\n\n## arrays and expressions in json output mode\n\nyou can use arrays and expressions when creating your json output.\n\nfor example, given this input data generated by the customer datastore node:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"jay gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"keeps asking about a green light??\",\n \"country\": \"us\",\n \"created\": \"1925-04-10\"\n },\n {\n \"id\": \"23423533\",\n \"name\": \"josé arcadio buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"lots of people named after him. very confusing\",\n \"country\": \"co\",\n \"created\": \"1967-05-05\"\n },\n {\n \"id\": \"23423534\",\n \"name\": \"max sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"keeps rolling his terrible eyes\",\n \"country\": \"us\",\n \"created\": \"1963-04-09\"\n },\n {\n \"id\": \"23423535\",\n \"name\": \"zaphod beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"felt like i was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\"\n },\n {\n \"id\": \"23423536\",\n \"name\": \"edmund pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"passionate sailor\",\n \"country\": \"uk\",\n \"created\": \"1950-10-16\"\n }\n]\n```\n\nadd the following json in the **json output** field, with **include in output** set to **all input fields**:\n\n```\n{\n \"newkey\": \"new value\",\n \"array\": [{{ $json.id }},\"{{ $json.name }}\"],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"{{ $json.id }}\",\n \"innerkey3\": \"{{ $json.name }}\",\n }\n}\n```\n\nyou get this output:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"jay gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"keeps asking about a green light??\",\n \"country\": \"us\",\n \"created\": \"1925-04-10\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423532,\n \"jay gatsby\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423532\",\n \"innerkey3\": \"jay gatsby\"\n }\n },\n {\n \"id\": \"23423533\",\n \"name\": \"josé arcadio buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"lots of people named after him. very confusing\",\n \"country\": \"co\",\n \"created\": \"1967-05-05\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423533,\n \"josé arcadio buendía\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423533\",\n \"innerkey3\": \"josé arcadio buendía\"\n }\n },\n {\n \"id\": \"23423534\",\n \"name\": \"max sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"keeps rolling his terrible eyes\",\n \"country\": \"us\",\n \"created\": \"1963-04-09\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423534,\n \"max sendak\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423534\",\n \"innerkey3\": \"max sendak\"\n }\n },\n {\n \"id\": \"23423535\",\n \"name\": \"zaphod beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"felt like i was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423535,\n \"zaphod beeblebrox\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423535\",\n \"innerkey3\": \"zaphod beeblebrox\"\n }\n },\n {\n \"id\": \"23423536\",\n \"name\": \"edmund pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"passionate sailor\",\n \"country\": \"uk\",\n \"created\": \"1950-10-16\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423536,\n \"edmund pevensie\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423536\",\n \"innerkey3\": \"edmund pevensie\"\n }\n }\n]\n```\n edit fields (set)",
54884
+ "fullText": "edit fields (set) # edit fields (set)\n\nuse the edit fields node to set workflow data. this node can set new data as well as overwrite data that already exists. this node is crucial in workflows which expect incoming data from previous nodes, such as when inserting values to google sheets or databases.\n\n## node parameters\n\nthese are the settings and options available in the edit fields node.\n\n### mode\n\nyou can either use **manual mapping** to edit fields using the gui or **json output** to write json that n8n adds to the input data.\n\n### fields to set\n\nif you select **mode** > **manual mapping**, you can configure the fields by dragging and dropping values from **input**.\n\nthe default behavior when you drag a value is:\n\n- n8n sets the value's name as the field name.\n- the field value contains an expression which accesses the value.\n\nif you don't want to use expressions:\n\n1. hover over a field. n8n displays the **fixed | expressions** toggle.\n1. select **fixed**.\n\nyou can do this for both the name and value of the field.\n\n### keep only set fields\n\nenable this to discard any input data that you don't use in **fields to set**.\n\n### include in output\n\nchoose which input data to include in the node's output data.\n\n## node options\n\nuse these options to customize the behavior of the node.\n\n### include binary data\n\nif the input data includes binary data, choose whether to include it in the edit fields node's output data.\n\n### ignore type conversion errors\n\nmanual mapping only.\n\nenabling this allows n8n to ignore some data type errors when mapping fields.\n\n### support dot notation\n\nby default, n8n supports dot notation.\n\nfor example, when using manual mapping, the node follows the dot notation for the **name** field. that means if you set the name in the **name** field as `number.one` and the value in the **value** field as `20`, the resulting json is:\n\n```\n{ \"number\": { \"one\": 20} }\n```\n\nyou can prevent this behavior by selecting **add option** > **support dot notation**, and setting the **dot notion** field to off. now the resulting json is:\n\n```\n{ \"number.one\": 20 }\n```\n\n## templates and examples\n\n**creating an api endpoint**\n\nby jonathan\n\n[view template details](https://n8n.io/workflows/1750-creating-an-api-endpoint/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse edit fields (set) integration templates](https://n8n.io/integrations/set/), or [search all templates](https://n8n.io/workflows/)\n\n## arrays and expressions in json output mode\n\nyou can use arrays and expressions when creating your json output.\n\nfor example, given this input data generated by the customer datastore node:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"jay gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"keeps asking about a green light??\",\n \"country\": \"us\",\n \"created\": \"1925-04-10\"\n },\n {\n \"id\": \"23423533\",\n \"name\": \"josé arcadio buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"lots of people named after him. very confusing\",\n \"country\": \"co\",\n \"created\": \"1967-05-05\"\n },\n {\n \"id\": \"23423534\",\n \"name\": \"max sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"keeps rolling his terrible eyes\",\n \"country\": \"us\",\n \"created\": \"1963-04-09\"\n },\n {\n \"id\": \"23423535\",\n \"name\": \"zaphod beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"felt like i was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\"\n },\n {\n \"id\": \"23423536\",\n \"name\": \"edmund pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"passionate sailor\",\n \"country\": \"uk\",\n \"created\": \"1950-10-16\"\n }\n]\n```\n\nadd the following json in the **json output** field, with **include in output** set to **all input fields**:\n\n```\n{\n \"newkey\": \"new value\",\n \"array\": [{{ $json.id }},\"{{ $json.name }}\"],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"{{ $json.id }}\",\n \"innerkey3\": \"{{ $json.name }}\",\n }\n}\n```\n\nyou get this output:\n\n```\n[\n {\n \"id\": \"23423532\",\n \"name\": \"jay gatsby\",\n \"email\": \"gatsby@west-egg.com\",\n \"notes\": \"keeps asking about a green light??\",\n \"country\": \"us\",\n \"created\": \"1925-04-10\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423532,\n \"jay gatsby\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423532\",\n \"innerkey3\": \"jay gatsby\"\n }\n },\n {\n \"id\": \"23423533\",\n \"name\": \"josé arcadio buendía\",\n \"email\": \"jab@macondo.co\",\n \"notes\": \"lots of people named after him. very confusing\",\n \"country\": \"co\",\n \"created\": \"1967-05-05\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423533,\n \"josé arcadio buendía\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423533\",\n \"innerkey3\": \"josé arcadio buendía\"\n }\n },\n {\n \"id\": \"23423534\",\n \"name\": \"max sendak\",\n \"email\": \"info@in-and-out-of-weeks.org\",\n \"notes\": \"keeps rolling his terrible eyes\",\n \"country\": \"us\",\n \"created\": \"1963-04-09\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423534,\n \"max sendak\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423534\",\n \"innerkey3\": \"max sendak\"\n }\n },\n {\n \"id\": \"23423535\",\n \"name\": \"zaphod beeblebrox\",\n \"email\": \"captain@heartofgold.com\",\n \"notes\": \"felt like i was talking to more than one person\",\n \"country\": null,\n \"created\": \"1979-10-12\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423535,\n \"zaphod beeblebrox\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423535\",\n \"innerkey3\": \"zaphod beeblebrox\"\n }\n },\n {\n \"id\": \"23423536\",\n \"name\": \"edmund pevensie\",\n \"email\": \"edmund@narnia.gov\",\n \"notes\": \"passionate sailor\",\n \"country\": \"uk\",\n \"created\": \"1950-10-16\",\n \"newkey\": \"new value\",\n \"array\": [\n 23423536,\n \"edmund pevensie\"\n ],\n \"object\": {\n \"innerkey1\": \"new value\",\n \"innerkey2\": \"23423536\",\n \"innerkey3\": \"edmund pevensie\"\n }\n }\n]\n```\n edit fields (set)",
54980
54885
  "importantTerms": [
54981
54886
  "value",
54982
54887
  "name",
@@ -55003,11 +54908,11 @@
55003
54908
  "mapping",
55004
54909
  "include",
55005
54910
  "https",
54911
+ "with",
55006
54912
  "that",
55007
54913
  "manual",
55008
54914
  "expressions",
55009
54915
  "notation",
55010
- "very",
55011
54916
  "keeps",
55012
54917
  "arcadio",
55013
54918
  "buend",
@@ -55024,8 +54929,7 @@
55024
54929
  "creating",
55025
54930
  "view",
55026
54931
  "template",
55027
- "details",
55028
- "with"
54932
+ "details"
55029
54933
  ]
55030
54934
  }
55031
54935
  },
@@ -56025,7 +55929,7 @@
56025
55929
  "nodeName": null,
56026
55930
  "nodeType": null,
56027
55931
  "content": {
56028
- "markdown": "# Chat node\n\nUse the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nEmbedded mode not supported\n\nThe Chat node isn't supported when the Chat Trigger node is set to **Embedded** mode. In Embedded mode, use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions with additional response types.\n\n## Node parameters\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nHuman-in-the-loop for AI tool calls\n\nThis node can be used as a human review step for AI Agent tool calls. When configured this way, the AI Agent will pause and request human approval through this service before executing tools that require oversight. Learn more in [Human-in-the-loop for AI tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nConfigure this node using the following parameters.\n\n### Operation\n\nThe Chat node supports the following operations:\n\n- **Send Message**: Send a message to the chat. The workflow execution continues immediately after sending.\n- **Send and Wait for Response**: Send a message to the chat and wait for a response from the user. This operation pauses the workflow execution until the user submits a response.\n\nChoosing **Send and Wait for Response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### Message\n\nThe message to send to the chat. This parameter is available for both operations.\n\n## Node options\n\nUse these **Options** to further refine the node's behavior.\n\n### Add Memory Input Connection\n\nChoose whether you want to commit the messages from the Chat node to a connected memory. Using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the Chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## Waiting for a response\n\nBy choosing the **Send and Wait for Response** operation, you can send a message and pause the workflow execution until a person responds. This enables multi-turn conversations and approval workflows within a single execution.\n\n### Response Type\n\nYou can choose between the following types of responses:\n\n- **Free Text**: Users can type any response in the chat. This is the same behavior as the previous \"Wait for User Reply\" option.\n- **Approval**: Users can approve or disapprove using inline buttons in the message. You can also optionally allow users to type custom responses.\n\nDifferent parameters and options are available depending on which type you choose.\n\n### Free Text parameters and options\n\nWhen using the Free Text response type, the user can type any message as their response.\n\n**Use cases:**\n\n- Open-ended questions\n- Collecting detailed feedback\n- Requesting specific information\n\n**Options:** * **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n### Approval parameters and options\n\nWhen using the Approval response type, the message displays inline buttons that users can click to approve or disapprove. This response type follows the same pattern as other human-in-the-loop (HITL) nodes in n8n.\n\n**Use cases:**\n\n- Simple yes/no decisions\n- Approval workflows\n- Confirmations\n\nWhen using the Approval response type, the following parameters are available:\n\n- **Type of Approval**: Whether to present only an approval button or both approval and disapproval buttons.\n\n - **Approve Only**: Displays a single approval button\n - **Approve and Disapprove**: Displays both buttons (default)\n\n- **Approve Button Label**: The text to display on the approval button. Default: `Approve`\n\n- **Disapprove Button Label**: The text to display on the disapproval button (only shown when Type of Approval is \"Approve and Disapprove\"). Default: `Disapprove`\n\n- **Block User Input**: Whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - When **disabled** (default): Users can click buttons or type a custom message. Typed messages are treated as disapproval with a custom message.\n - When **enabled**: Users can only interact using the buttons.\n\nThe Approval response type also offers the following option:\n\n- **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../advanced-ai/) documentation.\n\nRefer to the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Scrape and summarize webpages with AI**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[Browse Chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## Common issues\n\n- The Chat node isn't supported when the Chat Trigger node's **Mode** is set to **Embedded**. In Embedded mode, the Chat Trigger node only offers **Respond to Webhook** as a response mode. Use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- The Chat node doesn't work when used as a tool of a subagent.\n- The Chat node doesn't work when used in a subworkflow. This includes usage in a subworkflow that's being used as a tool for an AI Agent.\n- Make sure the Chat Trigger node's Response Mode is set to \"Using Response Nodes\" for the Chat node to function properly.\n\nFor common questions or issues with the Chat Trigger node, refer to [Common Chat Trigger Node Issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n",
55932
+ "markdown": "# Chat node\n\nUse the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents.\n\nChat Trigger node\n\nThe Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [Response Mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'Using Response Nodes'.\n\nEmbedded mode not supported\n\nThe Chat node isn't supported when the Chat Trigger node is set to **Embedded** mode. In Embedded mode, use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nPrevious version\n\nIn previous versions, this node was called \"Respond to Chat\" and used a single \"Wait for User Reply\" toggle. The functionality has been reorganized into two distinct actions with additional response types.\n\n## Node parameters\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nHuman-in-the-loop for AI tool calls\n\nThis node can be used as a human review step for AI Agent tool calls. When configured this way, the AI Agent will pause and request human approval through this service before executing tools that require oversight. Learn more in [Human-in-the-loop for AI tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nConfigure this node using the following parameters.\n\n### Operation\n\nThe Chat node supports the following operations:\n\n- **Send Message**: Send a message to the chat. The workflow execution continues immediately after sending.\n- **Send and Wait for Response**: Send a message to the chat and wait for a response from the user. This operation pauses the workflow execution until the user submits a response.\n\nChoosing **Send and Wait for Response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### Message\n\nThe message to send to the chat. This parameter is available for both operations.\n\n## Node options\n\nUse these **Options** to further refine the node's behavior.\n\n### Add Memory Input Connection\n\nChoose whether you want to commit the messages from the Chat node to a connected memory. Using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the Chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## Waiting for a response\n\nBy choosing the **Send and Wait for Response** operation, you can send a message and pause the workflow execution until a person responds. This enables multi-turn conversations and approval workflows within a single execution.\n\n### Response Type\n\nYou can choose between the following types of responses:\n\n- **Free Text**: Users can type any response in the chat. This is the same behavior as the previous \"Wait for User Reply\" option.\n- **Approval**: Users can approve or disapprove using inline buttons in the message. You can also optionally allow users to type custom responses.\n\nDifferent parameters and options are available depending on which type you choose.\n\n### Free Text parameters and options\n\nWhen using the Free Text response type, the user can type any message as their response.\n\n**Use cases:**\n\n- Open-ended questions\n- Collecting detailed feedback\n- Requesting specific information\n\n**Options:** * **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n### Approval parameters and options\n\nWhen using the Approval response type, the message displays inline buttons that users can click to approve or disapprove. This response type follows the same pattern as other human-in-the-loop (HITL) nodes in n8n.\n\n**Use cases:**\n\n- Simple yes/no decisions\n- Approval workflows\n- Confirmations\n\nWhen using the Approval response type, the following parameters are available:\n\n- **Type of Approval**: Whether to present only an approval button or both approval and disapproval buttons.\n\n - **Approve Only**: Displays a single approval button\n - **Approve and Disapprove**: Displays both buttons (default)\n\n- **Approve Button Label**: The text to display on the approval button. Default: `Approve`\n\n- **Disapprove Button Label**: The text to display on the disapproval button (only shown when Type of Approval is \"Approve and Disapprove\"). Default: `Disapprove`\n\n- **Block User Input**: Whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - When **disabled** (default): Users can click buttons or type a custom message. Typed messages are treated as disapproval with a custom message.\n - When **enabled**: Users can only interact using the buttons.\n\nThe Approval response type also offers the following option:\n\n- **Limit Wait Time**: Whether the workflow automatically resumes execution after a specified time limit. This can be an interval or a specific wall time.\n\n## Related resources\n\nView n8n's [Advanced AI](../../../../advanced-ai/) documentation.\n\nRefer to the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## Templates and examples\n\n**AI agent chat**\n\nby n8n Team\n\n[View template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**Building Your First WhatsApp Chatbot**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**Angie, personal AI assistant with Telegram voice and text**\n\nby Derek Cheung\n\n[View template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[Browse Chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## Common issues\n\n- The Chat node isn't supported when the Chat Trigger node's **Mode** is set to **Embedded**. In Embedded mode, the Chat Trigger node only offers **Respond to Webhook** as a response mode. Use the [Respond to Webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- The Chat node doesn't work when used as a tool of a subagent.\n- The Chat node doesn't work when used in a subworkflow. This includes usage in a subworkflow that's being used as a tool for an AI Agent.\n- Make sure the Chat Trigger node's Response Mode is set to \"Using Response Nodes\" for the Chat node to function properly.\n\nFor common questions or issues with the Chat Trigger node, refer to [Common Chat Trigger Node Issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n",
56029
55933
  "excerpt": "# Chat node Use the Chat node with the [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. This enables human-in-the-loop (HITL) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. The Chat node also works as a tool for AI Agents. Chat Trigger node The Chat node requires a [Chat Trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, w...",
56030
55934
  "sections": [
56031
55935
  {
@@ -56066,11 +55970,11 @@
56066
55970
  "codeExamples": 0,
56067
55971
  "complexity": "intermediate",
56068
55972
  "readingTime": "5 min",
56069
- "contentLength": 6927,
55973
+ "contentLength": 6970,
56070
55974
  "relatedPages": []
56071
55975
  },
56072
55976
  "searchIndex": {
56073
- "fullText": "chat # chat node\n\nuse the chat node with the [chat trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. this enables human-in-the-loop (hitl) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. the chat node also works as a tool for ai agents.\n\nchat trigger node\n\nthe chat node requires a [chat trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [response mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'using response nodes'.\n\nembedded mode not supported\n\nthe chat node isn't supported when the chat trigger node is set to **embedded** mode. in embedded mode, use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nprevious version\n\nin previous versions, this node was called \"respond to chat\" and used a single \"wait for user reply\" toggle. the functionality has been reorganized into two distinct actions with additional response types.\n\n## node parameters\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nhuman-in-the-loop for ai tool calls\n\nthis node can be used as a human review step for ai agent tool calls. when configured this way, the ai agent will pause and request human approval through this service before executing tools that require oversight. learn more in [human-in-the-loop for ai tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nconfigure this node using the following parameters.\n\n### operation\n\nthe chat node supports the following operations:\n\n- **send message**: send a message to the chat. the workflow execution continues immediately after sending.\n- **send and wait for response**: send a message to the chat and wait for a response from the user. this operation pauses the workflow execution until the user submits a response.\n\nchoosing **send and wait for response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### message\n\nthe message to send to the chat. this parameter is available for both operations.\n\n## node options\n\nuse these **options** to further refine the node's behavior.\n\n### add memory input connection\n\nchoose whether you want to commit the messages from the chat node to a connected memory. using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## waiting for a response\n\nby choosing the **send and wait for response** operation, you can send a message and pause the workflow execution until a person responds. this enables multi-turn conversations and approval workflows within a single execution.\n\n### response type\n\nyou can choose between the following types of responses:\n\n- **free text**: users can type any response in the chat. this is the same behavior as the previous \"wait for user reply\" option.\n- **approval**: users can approve or disapprove using inline buttons in the message. you can also optionally allow users to type custom responses.\n\ndifferent parameters and options are available depending on which type you choose.\n\n### free text parameters and options\n\nwhen using the free text response type, the user can type any message as their response.\n\n**use cases:**\n\n- open-ended questions\n- collecting detailed feedback\n- requesting specific information\n\n**options:** * **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n### approval parameters and options\n\nwhen using the approval response type, the message displays inline buttons that users can click to approve or disapprove. this response type follows the same pattern as other human-in-the-loop (hitl) nodes in n8n.\n\n**use cases:**\n\n- simple yes/no decisions\n- approval workflows\n- confirmations\n\nwhen using the approval response type, the following parameters are available:\n\n- **type of approval**: whether to present only an approval button or both approval and disapproval buttons.\n\n - **approve only**: displays a single approval button\n - **approve and disapprove**: displays both buttons (default)\n\n- **approve button label**: the text to display on the approval button. default: `approve`\n\n- **disapprove button label**: the text to display on the disapproval button (only shown when type of approval is \"approve and disapprove\"). default: `disapprove`\n\n- **block user input**: whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - when **disabled** (default): users can click buttons or type a custom message. typed messages are treated as disapproval with a custom message.\n - when **enabled**: users can only interact using the buttons.\n\nthe approval response type also offers the following option:\n\n- **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n## related resources\n\nview n8n's [advanced ai](../../../../advanced-ai/) documentation.\n\nrefer to the [chat trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**scrape and summarize webpages with ai**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\n\n[browse chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## common issues\n\n- the chat node isn't supported when the chat trigger node's **mode** is set to **embedded**. in embedded mode, the chat trigger node only offers **respond to webhook** as a response mode. use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- the chat node doesn't work when used as a tool of a subagent.\n- the chat node doesn't work when used in a subworkflow. this includes usage in a subworkflow that's being used as a tool for an ai agent.\n- make sure the chat trigger node's response mode is set to \"using response nodes\" for the chat node to function properly.\n\nfor common questions or issues with the chat trigger node, refer to [common chat trigger node issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n chat node",
55977
+ "fullText": "chat # chat node\n\nuse the chat node with the [chat trigger](../n8n-nodes-langchain.chattrigger/) node to send messages into the chat and optionally wait for responses from users. this enables human-in-the-loop (hitl) use cases in chat workflows, allowing you to have multiple chat interactions within a single execution. the chat node also works as a tool for ai agents.\n\nchat trigger node\n\nthe chat node requires a [chat trigger](../n8n-nodes-langchain.chattrigger/) node to be present in the workflow, with the [response mode](../n8n-nodes-langchain.chattrigger/#response-mode) set to 'using response nodes'.\n\nembedded mode not supported\n\nthe chat node isn't supported when the chat trigger node is set to **embedded** mode. in embedded mode, use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n\nprevious version\n\nin previous versions, this node was called \"respond to chat\" and used a single \"wait for user reply\" toggle. the functionality has been reorganized into two distinct actions with additional response types.\n\n## node parameters\n\nthis node can be used as an ai tool\n\nthis node can be used to enhance the capabilities of an ai agent. when used in this way, many parameters can be set automatically, or with information directed by ai - find out more in the [ai tool parameters documentation](../../../../advanced-ai/examples/using-the-fromai-function/).\n\nhuman-in-the-loop for ai tool calls\n\nthis node can be used as a human review step for ai agent tool calls. when configured this way, the ai agent will pause and request human approval through this service before executing tools that require oversight. learn more in [human-in-the-loop for ai tool calls](../../../../advanced-ai/human-in-the-loop-tools/).\n\nconfigure this node using the following parameters.\n\n### operation\n\nthe chat node supports the following operations:\n\n- **send message**: send a message to the chat. the workflow execution continues immediately after sending.\n- **send and wait for response**: send a message to the chat and wait for a response from the user. this operation pauses the workflow execution until the user submits a response.\n\nchoosing **send and wait for response** activates additional parameters and options as discussed in [waiting for a response](#waiting-for-a-response).\n\n### message\n\nthe message to send to the chat. this parameter is available for both operations.\n\n## node options\n\nuse these **options** to further refine the node's behavior.\n\n### add memory input connection\n\nchoose whether you want to commit the messages from the chat node to a connected memory. using a shared memory between an agent or chain [root node](../../cluster-nodes/root-nodes/) and the chat node attaches the same session key to these messages and lets you capture the full message history.\n\n## waiting for a response\n\nby choosing the **send and wait for response** operation, you can send a message and pause the workflow execution until a person responds. this enables multi-turn conversations and approval workflows within a single execution.\n\n### response type\n\nyou can choose between the following types of responses:\n\n- **free text**: users can type any response in the chat. this is the same behavior as the previous \"wait for user reply\" option.\n- **approval**: users can approve or disapprove using inline buttons in the message. you can also optionally allow users to type custom responses.\n\ndifferent parameters and options are available depending on which type you choose.\n\n### free text parameters and options\n\nwhen using the free text response type, the user can type any message as their response.\n\n**use cases:**\n\n- open-ended questions\n- collecting detailed feedback\n- requesting specific information\n\n**options:** * **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n### approval parameters and options\n\nwhen using the approval response type, the message displays inline buttons that users can click to approve or disapprove. this response type follows the same pattern as other human-in-the-loop (hitl) nodes in n8n.\n\n**use cases:**\n\n- simple yes/no decisions\n- approval workflows\n- confirmations\n\nwhen using the approval response type, the following parameters are available:\n\n- **type of approval**: whether to present only an approval button or both approval and disapproval buttons.\n\n - **approve only**: displays a single approval button\n - **approve and disapprove**: displays both buttons (default)\n\n- **approve button label**: the text to display on the approval button. default: `approve`\n\n- **disapprove button label**: the text to display on the disapproval button (only shown when type of approval is \"approve and disapprove\"). default: `disapprove`\n\n- **block user input**: whether to prevent users from typing custom messages (enabled) or allow them to type responses (disabled, default).\n\n - when **disabled** (default): users can click buttons or type a custom message. typed messages are treated as disapproval with a custom message.\n - when **enabled**: users can only interact using the buttons.\n\nthe approval response type also offers the following option:\n\n- **limit wait time**: whether the workflow automatically resumes execution after a specified time limit. this can be an interval or a specific wall time.\n\n## related resources\n\nview n8n's [advanced ai](../../../../advanced-ai/) documentation.\n\nrefer to the [chat trigger](../n8n-nodes-langchain.chattrigger/) node documentation for information about setting up the chat interface.\n\n## templates and examples\n\n**ai agent chat**\n\nby n8n team\n\n[view template details](https://n8n.io/workflows/1954-ai-agent-chat/)\n\n**building your first whatsapp chatbot**\n\nby jimleuk\n\n[view template details](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/)\n\n**angie, personal ai assistant with telegram voice and text**\n\nby derek cheung\n\n[view template details](https://n8n.io/workflows/2462-angie-personal-ai-assistant-with-telegram-voice-and-text/)\n\n[browse chat integration templates](https://n8n.io/integrations/chat/), or [search all templates](https://n8n.io/workflows/)\n\n## common issues\n\n- the chat node isn't supported when the chat trigger node's **mode** is set to **embedded**. in embedded mode, the chat trigger node only offers **respond to webhook** as a response mode. use the [respond to webhook](../n8n-nodes-base.respondtowebhook/) node instead.\n- the chat node doesn't work when used as a tool of a subagent.\n- the chat node doesn't work when used in a subworkflow. this includes usage in a subworkflow that's being used as a tool for an ai agent.\n- make sure the chat trigger node's response mode is set to \"using response nodes\" for the chat node to function properly.\n\nfor common questions or issues with the chat trigger node, refer to [common chat trigger node issues](../n8n-nodes-langchain.chattrigger/common-issues/).\n chat node",
56074
55978
  "importantTerms": [
56075
55979
  "chat",
56076
55980
  "node",
@@ -56096,6 +56000,7 @@
56096
56000
  "execution",
56097
56001
  "agent",
56098
56002
  "options",
56003
+ "text",
56099
56004
  "approve",
56100
56005
  "workflow",
56101
56006
  "user",
@@ -56110,7 +56015,6 @@
56110
56015
  "embedded",
56111
56016
  "following",
56112
56017
  "whether",
56113
- "text",
56114
56018
  "only",
56115
56019
  "default",
56116
56020
  "https",
@@ -93608,7 +93512,6 @@
93608
93512
  "page-0002",
93609
93513
  "page-0003",
93610
93514
  "page-0006",
93611
- "page-0008",
93612
93515
  "page-0009",
93613
93516
  "page-0013",
93614
93517
  "page-0017",
@@ -94434,7 +94337,6 @@
94434
94337
  "page-0003",
94435
94338
  "page-0006",
94436
94339
  "page-0007",
94437
- "page-0008",
94438
94340
  "page-0012",
94439
94341
  "page-0013",
94440
94342
  "page-0017",
@@ -94627,7 +94529,6 @@
94627
94529
  "nodes": [
94628
94530
  "page-0002",
94629
94531
  "page-0003",
94630
- "page-0008",
94631
94532
  "page-0013",
94632
94533
  "page-0040",
94633
94534
  "page-0044",
@@ -96101,7 +96002,6 @@
96101
96002
  ],
96102
96003
  "command": [
96103
96004
  "page-0003",
96104
- "page-0008",
96105
96005
  "page-0150",
96106
96006
  "page-0696",
96107
96007
  "page-0714",
@@ -97314,7 +97214,6 @@
97314
97214
  "with": [
97315
97215
  "page-0005",
97316
97216
  "page-0007",
97317
- "page-0008",
97318
97217
  "page-0012",
97319
97218
  "page-0015",
97320
97219
  "page-0018",
@@ -97541,7 +97440,6 @@
97541
97440
  ],
97542
97441
  "canvas": [
97543
97442
  "page-0006",
97544
- "page-0008",
97545
97443
  "page-0073",
97546
97444
  "page-1215"
97547
97445
  ],
@@ -98040,65 +97938,6 @@
98040
97938
  "insights?": [
98041
97939
  "page-0007"
98042
97940
  ],
98043
- "keyboard": [
98044
- "page-0008",
98045
- "page-0053",
98046
- "page-0532",
98047
- "page-0708",
98048
- "page-0710"
98049
- ],
98050
- "shortcuts": [
98051
- "page-0008",
98052
- "page-0053",
98053
- "page-0708",
98054
- "page-0710"
98055
- ],
98056
- "controls": [
98057
- "page-0008",
98058
- "page-1264"
98059
- ],
98060
- "move": [
98061
- "page-0008",
98062
- "page-0511",
98063
- "page-0654",
98064
- "page-1242"
98065
- ],
98066
- "zoom": [
98067
- "page-0008",
98068
- "page-0488",
98069
- "page-1033"
98070
- ],
98071
- "more": [
98072
- "page-0008",
98073
- "page-0013",
98074
- "page-0018",
98075
- "page-0025",
98076
- "page-0530",
98077
- "page-0687",
98078
- "page-1150",
98079
- "page-1215"
98080
- ],
98081
- "selected": [
98082
- "page-0008"
98083
- ],
98084
- "panel": [
98085
- "page-0008",
98086
- "page-0020",
98087
- "page-0073",
98088
- "page-1180"
98089
- ],
98090
- "categories": [
98091
- "page-0008",
98092
- "page-1175"
98093
- ],
98094
- "within": [
98095
- "page-0008",
98096
- "page-0013",
98097
- "page-0100",
98098
- "page-0517",
98099
- "page-0718",
98100
- "page-1215"
98101
- ],
98102
97941
  "learning": [
98103
97942
  "page-0009",
98104
97943
  "page-0039"
@@ -98940,6 +98779,15 @@
98940
98779
  "auditability": [
98941
98780
  "page-0013"
98942
98781
  ],
98782
+ "more": [
98783
+ "page-0013",
98784
+ "page-0018",
98785
+ "page-0025",
98786
+ "page-0530",
98787
+ "page-0687",
98788
+ "page-1150",
98789
+ "page-1215"
98790
+ ],
98943
98791
  "granular": [
98944
98792
  "page-0013"
98945
98793
  ],
@@ -99224,6 +99072,13 @@
99224
99072
  "syslog": [
99225
99073
  "page-0013"
99226
99074
  ],
99075
+ "within": [
99076
+ "page-0013",
99077
+ "page-0100",
99078
+ "page-0517",
99079
+ "page-0718",
99080
+ "page-1215"
99081
+ ],
99227
99082
  "streaming:": [
99228
99083
  "page-0013"
99229
99084
  ],
@@ -101550,6 +101405,11 @@
101550
101405
  "page-1229",
101551
101406
  "page-1233"
101552
101407
  ],
101408
+ "panel": [
101409
+ "page-0020",
101410
+ "page-0073",
101411
+ "page-1180"
101412
+ ],
101553
101413
  "approval": [
101554
101414
  "page-0020",
101555
101415
  "page-0320",
@@ -104509,6 +104369,17 @@
104509
104369
  "page-1040",
104510
104370
  "page-1044"
104511
104371
  ],
104372
+ "keyboard": [
104373
+ "page-0053",
104374
+ "page-0532",
104375
+ "page-0708",
104376
+ "page-0710"
104377
+ ],
104378
+ "shortcuts": [
104379
+ "page-0053",
104380
+ "page-0708",
104381
+ "page-0710"
104382
+ ],
104512
104383
  "(pyodide": [
104513
104384
  "page-0053",
104514
104385
  "page-0708"
@@ -107711,7 +107582,7 @@
107711
107582
  "page-0606",
107712
107583
  "page-0607",
107713
107584
  "page-0617",
107714
- "page-0620",
107585
+ "page-0619",
107715
107586
  "page-0626",
107716
107587
  "page-0631",
107717
107588
  "page-0632",
@@ -110478,6 +110349,10 @@
110478
110349
  "page-0487",
110479
110350
  "page-1032"
110480
110351
  ],
110352
+ "zoom": [
110353
+ "page-0488",
110354
+ "page-1033"
110355
+ ],
110481
110356
  "zulip": [
110482
110357
  "page-0489",
110483
110358
  "page-1035"
@@ -110686,6 +110561,11 @@
110686
110561
  "page-1052",
110687
110562
  "page-1206"
110688
110563
  ],
110564
+ "move": [
110565
+ "page-0511",
110566
+ "page-0654",
110567
+ "page-1242"
110568
+ ],
110689
110569
  "upload": [
110690
110570
  "page-0511",
110691
110571
  "page-0540",
@@ -111585,16 +111465,16 @@
111585
111465
  "reranker": [
111586
111466
  "page-0618"
111587
111467
  ],
111588
- "contextual": [
111468
+ "multiquery": [
111589
111469
  "page-0619"
111590
111470
  ],
111471
+ "contextual": [
111472
+ "page-0620"
111473
+ ],
111591
111474
  "compression": [
111592
- "page-0619",
111475
+ "page-0620",
111593
111476
  "page-0653"
111594
111477
  ],
111595
- "multiquery": [
111596
- "page-0620"
111597
- ],
111598
111478
  "character": [
111599
111479
  "page-0623",
111600
111480
  "page-0624"
@@ -112922,6 +112802,9 @@
112922
112802
  "deprecation": [
112923
112803
  "page-1174"
112924
112804
  ],
112805
+ "categories": [
112806
+ "page-1175"
112807
+ ],
112925
112808
  "directories": [
112926
112809
  "page-1176"
112927
112810
  ],
@@ -113699,6 +113582,9 @@
113699
113582
  "components": [
113700
113583
  "page-1262"
113701
113584
  ],
113585
+ "controls": [
113586
+ "page-1264"
113587
+ ],
113702
113588
  "positioning": [
113703
113589
  "page-1265"
113704
113590
  ],
@@ -113764,7 +113650,6 @@
113764
113650
  "page-0005",
113765
113651
  "page-0006",
113766
113652
  "page-0007",
113767
- "page-0008",
113768
113653
  "page-0009",
113769
113654
  "page-0010",
113770
113655
  "page-0011",