@n8n/n8n-nodes-langchain 2.32.3 → 2.33.0

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.
Files changed (49) hide show
  1. package/dist/methods/defined.json +3 -0
  2. package/dist/methods/referenced.json +3 -0
  3. package/dist/node-definitions/.nodes-hash +1 -1
  4. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/index.ts +3 -1
  5. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v12.schema.js +26 -0
  6. package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v12.ts +85 -0
  7. package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js +2 -0
  8. package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js.map +1 -1
  9. package/dist/nodes/chains/InformationExtractor/processItem.js +6 -1
  10. package/dist/nodes/chains/InformationExtractor/processItem.js.map +1 -1
  11. package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js +11 -2
  12. package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js.map +1 -1
  13. package/dist/nodes/chains/TextClassifier/processItem.js +6 -1
  14. package/dist/nodes/chains/TextClassifier/processItem.js.map +1 -1
  15. package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.d.ts +6 -0
  16. package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js +38 -2
  17. package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js.map +1 -1
  18. package/dist/nodes/llms/LmChatAwsBedrock/methods/listModels.d.ts +2 -0
  19. package/dist/nodes/llms/LmChatAwsBedrock/methods/listModels.js +55 -0
  20. package/dist/nodes/llms/LmChatAwsBedrock/methods/listModels.js.map +1 -0
  21. package/dist/nodes/llms/LmChatCohere/LmChatCohere.node.js +2 -1
  22. package/dist/nodes/llms/LmChatCohere/LmChatCohere.node.js.map +1 -1
  23. package/dist/nodes/llms/LmChatCohere/cohereV2Client.d.ts +4 -0
  24. package/dist/nodes/llms/LmChatCohere/cohereV2Client.js +167 -0
  25. package/dist/nodes/llms/LmChatCohere/cohereV2Client.js.map +1 -0
  26. package/dist/nodes/mcp/shared/McpClientsManager.d.ts +6 -0
  27. package/dist/nodes/mcp/shared/McpClientsManager.js +38 -19
  28. package/dist/nodes/mcp/shared/McpClientsManager.js.map +1 -1
  29. package/dist/nodes/mcp/shared/runtime.js +1 -0
  30. package/dist/nodes/mcp/shared/runtime.js.map +1 -1
  31. package/dist/nodes/mcp/shared/utils.d.ts +1 -1
  32. package/dist/nodes/mcp/shared/utils.js +22 -0
  33. package/dist/nodes/mcp/shared/utils.js.map +1 -1
  34. package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js +16 -1
  35. package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js.map +1 -1
  36. package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js +1 -0
  37. package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js.map +1 -1
  38. package/dist/typecheck.tsbuildinfo +1 -1
  39. package/dist/types/nodes.json +2 -2
  40. package/dist/utils/agent-execution/buildSteps.js +11 -3
  41. package/dist/utils/agent-execution/buildSteps.js.map +1 -1
  42. package/dist/utils/agent-execution/createEngineRequests.js +16 -1
  43. package/dist/utils/agent-execution/createEngineRequests.js.map +1 -1
  44. package/dist/utils/agent-execution/types.d.ts +5 -0
  45. package/dist/utils/agent-execution/types.js.map +1 -1
  46. package/dist/utils/output_parsers/parserInput.d.ts +2 -0
  47. package/dist/utils/output_parsers/parserInput.js +7 -0
  48. package/dist/utils/output_parsers/parserInput.js.map +1 -0
  49. package/package.json +13 -13
@@ -41,7 +41,7 @@
41
41
  {"displayName":"Qwen Cloud Chat Model","name":"lmChatAlibabaCloud","group":["transform"],"version":[1],"description":"For advanced usage with an AI chain","defaults":{"name":"Qwen Cloud Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatalibabacloud/"}]},"alias":["qwen","dashscope","alibaba","model studio"]},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"alibabaCloudApi","required":true}],"requestDefaults":{"ignoreHttpStatusErrors":true,"baseURL":"={{ $credentials?.url + \"/compatible-mode/v1\" }}"},"properties":[{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"If using JSON response format, you must include word \"json\" in the prompt in your chain or agent.","name":"notice","type":"notice","default":"","displayOptions":{"show":{"/options.responseFormat":["json_object"]}}},{"displayName":"Model","name":"model","type":"options","description":"The model which will generate the completion. <a href=\"https://www.qwencloud.com/models\">Learn more</a>.","typeOptions":{"loadOptions":{"routing":{"request":{"method":"GET","url":"/models"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"data"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.id}}","value":"={{$responseItem.id}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"qwen-plus","builderHint":{"propertyHint":"Default to the latest Qwen flagship (qwen3.6-max-preview or qwen3.6-plus). Use qwen-plus for cost-efficient builds. Avoid qwen-turbo, Qwen 3.5 and earlier, and older dated snapshots."}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Frequency Penalty","name":"frequencyPenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim","type":"number"},{"displayName":"Maximum Number of Tokens","name":"maxTokens","default":-1,"description":"The maximum number of tokens to generate in the completion. The limit depends on the selected model.","type":"number"},{"displayName":"Response Format","name":"responseFormat","default":"text","type":"options","options":[{"name":"Text","value":"text","description":"Regular text response"},{"name":"JSON","value":"json_object","description":"Enables JSON mode, which should guarantee the message the model generates is valid JSON"}]},{"displayName":"Presence Penalty","name":"presencePenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":2,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Timeout","name":"timeout","default":360000,"description":"Maximum amount of time a request is allowed to take in milliseconds","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatAlibabaCloud/alibaba.svg"},
42
42
  {"displayName":"Anthropic Chat Model","name":"lmChatAnthropic","group":["transform"],"version":[1,1.1,1.2,1.3,1.4,1.5],"defaultVersion":1.5,"description":"Language Model Anthropic","defaults":{"name":"Anthropic Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"alias":["claude","sonnet","opus"]},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"anthropicApi","required":true}],"properties":[{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Model","name":"model","type":"options","options":[{"name":"Claude 3.5 Sonnet(20241022)","value":"claude-3-5-sonnet-20241022"},{"name":"Claude 3 Opus(20240229)","value":"claude-3-opus-20240229"},{"name":"Claude 3.5 Sonnet(20240620)","value":"claude-3-5-sonnet-20240620"},{"name":"Claude 3 Sonnet(20240229)","value":"claude-3-sonnet-20240229"},{"name":"Claude 3.5 Haiku(20241022)","value":"claude-3-5-haiku-20241022"},{"name":"Claude 3 Haiku(20240307)","value":"claude-3-haiku-20240307"},{"name":"LEGACY: Claude 2","value":"claude-2"},{"name":"LEGACY: Claude 2.1","value":"claude-2.1"},{"name":"LEGACY: Claude Instant 1.2","value":"claude-instant-1.2"},{"name":"LEGACY: Claude Instant 1","value":"claude-instant-1"}],"description":"The model which will generate the completion. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","default":"claude-2","builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"displayOptions":{"show":{"@version":[1]}}},{"displayName":"Model","name":"model","type":"options","options":[{"name":"Claude 3.5 Sonnet(20241022)","value":"claude-3-5-sonnet-20241022"},{"name":"Claude 3 Opus(20240229)","value":"claude-3-opus-20240229"},{"name":"Claude 3.5 Sonnet(20240620)","value":"claude-3-5-sonnet-20240620"},{"name":"Claude 3 Sonnet(20240229)","value":"claude-3-sonnet-20240229"},{"name":"Claude 3.5 Haiku(20241022)","value":"claude-3-5-haiku-20241022"},{"name":"Claude 3 Haiku(20240307)","value":"claude-3-haiku-20240307"},{"name":"LEGACY: Claude 2","value":"claude-2"},{"name":"LEGACY: Claude 2.1","value":"claude-2.1"},{"name":"LEGACY: Claude Instant 1.2","value":"claude-instant-1.2"},{"name":"LEGACY: Claude Instant 1","value":"claude-instant-1"}],"description":"The model which will generate the completion. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","default":"claude-3-sonnet-20240229","builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"displayOptions":{"show":{"@version":[1.1]}}},{"displayName":"Model","name":"model","type":"options","options":[{"name":"Claude 3.5 Sonnet(20241022)","value":"claude-3-5-sonnet-20241022"},{"name":"Claude 3 Opus(20240229)","value":"claude-3-opus-20240229"},{"name":"Claude 3.5 Sonnet(20240620)","value":"claude-3-5-sonnet-20240620"},{"name":"Claude 3 Sonnet(20240229)","value":"claude-3-sonnet-20240229"},{"name":"Claude 3.5 Haiku(20241022)","value":"claude-3-5-haiku-20241022"},{"name":"Claude 3 Haiku(20240307)","value":"claude-3-haiku-20240307"}],"description":"The model which will generate the completion. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","default":"claude-3-5-sonnet-20240620","builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"displayOptions":{"show":{"@version":[{"_cnd":{"lte":1.2}}]}}},{"displayName":"Model","name":"model","type":"resourceLocator","default":{"mode":"list","value":"claude-sonnet-4-5-20250929","cachedResultName":"Claude Sonnet 4.5"},"builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a model...","typeOptions":{"searchListMethod":"searchModels","searchable":true}},{"displayName":"ID","name":"id","type":"string","placeholder":"Claude Sonnet"}],"description":"The model. Choose from the list, or specify an ID. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","displayOptions":{"show":{"@version":[1.3]}}},{"displayName":"Model","name":"model","type":"resourceLocator","default":{"mode":"list","value":"claude-sonnet-4-6","cachedResultName":"Claude Sonnet 4.6"},"builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a model...","typeOptions":{"searchListMethod":"searchModels","searchable":true}},{"displayName":"ID","name":"id","type":"string","placeholder":"Claude Sonnet"}],"description":"The model. Choose from the list, or specify an ID. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","displayOptions":{"show":{"@version":[1.4]}}},{"displayName":"Model","name":"model","type":"resourceLocator","default":{"mode":"list","value":"claude-sonnet-4-6","cachedResultName":"Claude Sonnet 4.6"},"builderHint":{"propertyHint":"Default to claude-sonnet-4-6 (latest Sonnet); use claude-opus-4-7 when the user needs the most capable model. Never use Claude Sonnet 4.5, Claude 3.x, Claude 2, or LEGACY options — those are superseded and are not valid choices. When extended thinking is needed on Opus 4.7+, set Thinking Mode to Adaptive and choose an Effort level. The legacy Manual thinking mode is rejected by Opus 4.7."},"required":true,"modes":[{"displayName":"From List","name":"list","type":"list","placeholder":"Select a model...","typeOptions":{"searchListMethod":"searchModels","searchable":true}},{"displayName":"ID","name":"id","type":"string","placeholder":"Claude Sonnet"}],"description":"The model. Choose from the list, or specify an ID. <a href=\"https://docs.anthropic.com/claude/docs/models-overview\">Learn more</a>.","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.5}}]}}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Maximum Number of Tokens","name":"maxTokensToSample","default":4096,"description":"The maximum number of tokens to generate in the completion","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive. Not supported on newer Anthropic models (Claude Opus 4.7+, Claude Sonnet 5+) — ignored there.","type":"number","displayOptions":{"hide":{"thinking":[true],"thinkingMode":["adaptive","manual"]}}},{"displayName":"Top K","name":"topK","default":-1,"typeOptions":{"maxValue":1,"minValue":-1,"numberPrecision":1},"description":"Used to remove \"long tail\" low probability responses. Defaults to -1, which disables it. Not supported on newer Anthropic models (Claude Opus 4.7+, Claude Sonnet 5+) — ignored there.","type":"number","displayOptions":{"hide":{"thinking":[true],"thinkingMode":["adaptive","manual"]}}},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both. Not supported on newer Anthropic models (Claude Opus 4.7+, Claude Sonnet 5+) — ignored there.","type":"number","displayOptions":{"hide":{"thinking":[true],"thinkingMode":["adaptive","manual"]}}},{"displayName":"Enable Thinking","name":"thinking","type":"boolean","default":false,"description":"Whether to enable thinking mode for the model","displayOptions":{"show":{"@version":[{"_cnd":{"lte":1.4}}]}}},{"displayName":"Thinking Budget (Tokens)","name":"thinkingBudget","type":"number","default":1024,"description":"The maximum number of tokens to use for thinking","displayOptions":{"show":{"@version":[{"_cnd":{"lte":1.4}}],"thinking":[true]}}},{"displayName":"Thinking Mode","name":"thinkingMode","type":"options","default":"disabled","description":"How extended thinking should be configured for the model","options":[{"name":"Disabled","value":"disabled","description":"No extended thinking"},{"name":"Adaptive (Recommended)","value":"adaptive","description":"Claude decides how much to think; control with Effort"},{"name":"Manual (Deprecated)","value":"manual","description":"Legacy fixed-budget mode; rejected by Opus 4.7+"}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.5}}]}}},{"displayName":"Effort","name":"effort","type":"options","default":"medium","description":"Effort level for adaptive thinking","options":[{"name":"Low","value":"low"},{"name":"Medium","value":"medium"},{"name":"High","value":"high"},{"name":"X-High","value":"xhigh"},{"name":"Max","value":"max"}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.5}}],"thinkingMode":["adaptive"],"/model.value":[{"_cnd":{"includes":"opus"}}]}}},{"displayName":"Effort","name":"effort","type":"options","default":"medium","description":"Effort level for adaptive thinking","options":[{"name":"Low","value":"low"},{"name":"Medium","value":"medium"},{"name":"High","value":"high"}],"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.5}}],"thinkingMode":["adaptive"],"/model.value":[{"_cnd":{"regex":"^(?!.*opus).*"}}]}}},{"displayName":"Thinking Budget (Tokens)","name":"thinkingBudget","type":"number","default":1024,"description":"Maximum tokens used for thinking. Manual mode is rejected by Opus 4.7+.","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.5}}],"thinkingMode":["manual"]}}},{"displayName":"Stream Responses","name":"streaming","type":"boolean","default":false,"description":"Whether the model should stream its response over Server-Sent Events instead of returning a single non-streamed payload. Final output shape is unchanged."}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LMChatAnthropic/anthropic.svg"},
43
43
  {"displayName":"Azure OpenAI Chat Model","name":"lmChatAzureOpenAi","group":["transform"],"version":1,"description":"For advanced usage with an AI chain","defaults":{"name":"Azure OpenAI Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatazureopenai/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"azureOpenAiApi","required":true,"displayOptions":{"show":{"authentication":["azureOpenAiApi"]}}},{"name":"azureEntraCognitiveServicesOAuth2Api","required":true,"displayOptions":{"show":{"authentication":["azureEntraCognitiveServicesOAuth2Api"]}}}],"properties":[{"displayName":"Authentication","name":"authentication","type":"options","default":"azureOpenAiApi","options":[{"name":"API Key","value":"azureOpenAiApi"},{"name":"Azure Entra ID (OAuth2)","value":"azureEntraCognitiveServicesOAuth2Api"}]},{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"If using JSON response format, you must include word \"json\" in the prompt in your chain or agent. Also, make sure to select latest models released post November 2023.","name":"notice","type":"notice","default":"","displayOptions":{"show":{"/options.responseFormat":["json_object"]}}},{"displayName":"Model (Deployment) Name","name":"model","type":"string","description":"The name of the model(deployment) to use (e.g., gpt-4, gpt-35-turbo)","required":true,"default":""},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Frequency Penalty","name":"frequencyPenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim","type":"number"},{"displayName":"Maximum Number of Tokens","name":"maxTokens","default":-1,"description":"The maximum number of tokens to generate in the completion. Most models have a context length of 2048 tokens (except for the newest models, which support 32,768). Use -1 for default.","type":"number","typeOptions":{"maxValue":128000}},{"displayName":"Response Format","name":"responseFormat","default":"text","type":"options","options":[{"name":"Text","value":"text","description":"Regular text response"},{"name":"JSON","value":"json_object","description":"Enables JSON mode, which should guarantee the message the model generates is valid JSON"}]},{"displayName":"Presence Penalty","name":"presencePenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":2,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Timeout (Ms)","name":"timeout","default":60000,"description":"Maximum amount of time a request is allowed to take in milliseconds","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt on failure","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatAzureOpenAi/azure.svg"},
44
- {"displayName":"AWS Bedrock Chat Model","name":"lmChatAwsBedrock","group":["transform"],"version":[1,1.1],"description":"Language Model AWS Bedrock","defaults":{"name":"AWS Bedrock Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatawsbedrock/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"aws","required":true,"displayOptions":{"show":{"authentication":["iam"]}}},{"name":"awsAssumeRole","required":true,"displayOptions":{"show":{"authentication":["assumeRole"]}}}],"requestDefaults":{"ignoreHttpStatusErrors":true,"baseURL":"=https://bedrock.{{$credentials?.region ?? \"eu-central-1\"}}.amazonaws.com"},"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"AWS (IAM)","value":"iam"},{"name":"AWS (Assume Role)","value":"assumeRole"}],"default":"iam"},{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Model Source","name":"modelSource","type":"options","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}},"options":[{"name":"On-Demand Models","value":"onDemand","description":"Standard foundation models with on-demand pricing"},{"name":"Inference Profiles","value":"inferenceProfile","description":"Cross-region inference profiles (required for models like Claude Sonnet 4 and others)"}],"default":"onDemand","description":"Choose between on-demand foundation models or inference profiles"},{"displayName":"Model","name":"model","type":"options","allowArbitraryValues":true,"description":"The model which will generate the completion. <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models.html\">Learn more</a>.","displayOptions":{"hide":{"modelSource":["inferenceProfile"]}},"typeOptions":{"loadOptionsDependsOn":["modelSource"],"loadOptions":{"routing":{"request":{"method":"GET","url":"/foundation-models?&byOutputModality=TEXT&byInferenceType=ON_DEMAND"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"modelSummaries"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.modelName}}","description":"={{$responseItem.modelArn}}","value":"={{$responseItem.modelId}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"","builderHint":{"propertyHint":"Default to the latest Claude Sonnet on Bedrock (anthropic.claude-sonnet-4-6 family). For Claude Sonnet 4+, switch Model Source to Inference Profiles. Avoid claude-sonnet-4-5, claude-3.x, and non-Claude legacy models unless requested."}},{"displayName":"Model","name":"model","type":"options","allowArbitraryValues":true,"description":"The inference profile which will generate the completion. <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-use.html\">Learn more</a>.","displayOptions":{"show":{"modelSource":["inferenceProfile"]}},"typeOptions":{"loadOptionsDependsOn":["modelSource"],"loadOptions":{"routing":{"request":{"method":"GET","url":"/inference-profiles?maxResults=1000"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"inferenceProfileSummaries"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.inferenceProfileName}}","description":"={{$responseItem.description || $responseItem.inferenceProfileArn}}","value":"={{$responseItem.inferenceProfileId}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"","builderHint":{"propertyHint":"Default to the latest Claude Sonnet inference profile (anthropic.claude-sonnet-4-6 family). Avoid claude-sonnet-4-5 and claude-3.x profiles unless specifically requested."}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Maximum Number of Tokens","name":"maxTokensToSample","default":2000,"description":"The maximum number of tokens to generate in the completion","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt when a request fails","type":"number"},{"displayName":"Timeout","name":"timeout","default":60000,"description":"Maximum amount of time a request is allowed to take in milliseconds. Increase this for long generations; set to 0 to disable.","type":"number"},{"displayName":"Additional Model Request Fields","name":"additionalModelRequestFields","default":"{}","description":"Model-family-specific inference parameters passed through as JSON (e.g. Claude <code>top_k</code>/<code>thinking</code>, Nova <code>inferenceConfig</code>/<code>reasoningConfig</code>, Cohere penalties). See the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html\">AWS model parameters docs</a>.","type":"json","typeOptions":{"rows":4}},{"displayName":"Latency Optimization","name":"latency","default":"standard","description":"Latency optimization mode for the request. \"Optimized\" can reduce response time for supported models and regions.","type":"options","options":[{"name":"Standard","value":"standard"},{"name":"Optimized","value":"optimized"}]},{"displayName":"Guardrail","name":"guardrail","type":"fixedCollection","default":{},"description":"Apply an Amazon Bedrock guardrail to requests","options":[{"displayName":"Guardrail","name":"values","values":[{"displayName":"Guardrail Identifier","name":"guardrailIdentifier","type":"string","default":"","description":"The identifier (ID or ARN) of the guardrail to apply"},{"displayName":"Guardrail Version","name":"guardrailVersion","type":"string","default":"DRAFT","description":"The version of the guardrail to apply, e.g. \"1\". Defaults to the working draft (\"DRAFT\")."},{"displayName":"Trace","name":"trace","type":"options","default":"disabled","description":"The trace behavior for the guardrail","options":[{"name":"Disabled","value":"disabled"},{"name":"Enabled","value":"enabled"},{"name":"Enabled (Full)","value":"enabled_full"}]}]}]}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatAwsBedrock/bedrock.svg"},
44
+ {"displayName":"AWS Bedrock Chat Model","name":"lmChatAwsBedrock","group":["transform"],"version":[1,1.1,1.2],"description":"Language Model AWS Bedrock","defaults":{"name":"AWS Bedrock Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatawsbedrock/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"aws","required":true,"displayOptions":{"show":{"authentication":["iam"]}}},{"name":"awsAssumeRole","required":true,"displayOptions":{"show":{"authentication":["assumeRole"]}}}],"requestDefaults":{"ignoreHttpStatusErrors":true,"baseURL":"=https://bedrock.{{$credentials?.region ?? \"eu-central-1\"}}.amazonaws.com"},"properties":[{"displayName":"Authentication","name":"authentication","type":"options","options":[{"name":"AWS (IAM)","value":"iam"},{"name":"AWS (Assume Role)","value":"assumeRole"}],"default":"iam"},{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Model Source","name":"modelSource","type":"options","displayOptions":{"show":{"@version":[{"_cnd":{"eq":1.1}}]}},"options":[{"name":"On-Demand Models","value":"onDemand","description":"Standard foundation models with on-demand pricing"},{"name":"Inference Profiles","value":"inferenceProfile","description":"Cross-region inference profiles (required for models like Claude Sonnet 4 and others)"}],"default":"onDemand","description":"Choose between on-demand foundation models or inference profiles"},{"displayName":"Model","name":"model","type":"options","allowArbitraryValues":true,"description":"The model which will generate the completion. <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models.html\">Learn more</a>.","displayOptions":{"show":{"@version":[{"_cnd":{"lt":1.2}}]},"hide":{"modelSource":["inferenceProfile"]}},"typeOptions":{"loadOptionsDependsOn":["modelSource"],"loadOptions":{"routing":{"request":{"method":"GET","url":"/foundation-models?&byOutputModality=TEXT&byInferenceType=ON_DEMAND"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"modelSummaries"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.modelName}}","description":"={{$responseItem.modelArn}}","value":"={{$responseItem.modelId}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"","builderHint":{"propertyHint":"Default to the latest Claude Sonnet on Bedrock (anthropic.claude-sonnet-4-6 family). For Claude Sonnet 4+, switch Model Source to Inference Profiles. Avoid claude-sonnet-4-5, claude-3.x, and non-Claude legacy models unless requested."}},{"displayName":"Model","name":"model","type":"options","allowArbitraryValues":true,"description":"The inference profile which will generate the completion. <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-use.html\">Learn more</a>.","displayOptions":{"show":{"@version":[{"_cnd":{"lt":1.2}}],"modelSource":["inferenceProfile"]}},"typeOptions":{"loadOptionsDependsOn":["modelSource"],"loadOptions":{"routing":{"request":{"method":"GET","url":"/inference-profiles?maxResults=1000"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"inferenceProfileSummaries"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.inferenceProfileName}}","description":"={{$responseItem.description || $responseItem.inferenceProfileArn}}","value":"={{$responseItem.inferenceProfileId}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"","builderHint":{"propertyHint":"Default to the latest Claude Sonnet inference profile (anthropic.claude-sonnet-4-6 family). Avoid claude-sonnet-4-5 and claude-3.x profiles unless specifically requested."}},{"displayName":"Model","name":"model","type":"options","allowArbitraryValues":true,"description":"The model or inference profile which will generate the completion. <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models.html\">Learn more</a>.","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.2}}]}},"typeOptions":{"loadOptionsDependsOn":["authentication"],"loadOptionsMethod":"listModels"},"routing":{"send":{"type":"body","property":"model"}},"default":"","builderHint":{"propertyHint":"Prefer the newest Claude Sonnet model (claude-sonnet-4-6 family). The newest models only work through their inference profile ID, which starts with a region prefix (e.g. \"eu.anthropic.claude-sonnet-4-6...\"). Avoid claude-sonnet-4-5, claude-3.x, and older non-Claude models unless the user asks for them."}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Maximum Number of Tokens","name":"maxTokensToSample","default":2000,"description":"The maximum number of tokens to generate in the completion","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt when a request fails","type":"number"},{"displayName":"Timeout","name":"timeout","default":60000,"description":"Maximum amount of time a request is allowed to take in milliseconds. Increase this for long generations; set to 0 to disable.","type":"number"},{"displayName":"Additional Model Request Fields","name":"additionalModelRequestFields","default":"{}","description":"Model-family-specific inference parameters passed through as JSON (e.g. Claude <code>top_k</code>/<code>thinking</code>, Nova <code>inferenceConfig</code>/<code>reasoningConfig</code>, Cohere penalties). See the <a href=\"https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html\">AWS model parameters docs</a>.","type":"json","typeOptions":{"rows":4}},{"displayName":"Latency Optimization","name":"latency","default":"standard","description":"Latency optimization mode for the request. \"Optimized\" can reduce response time for supported models and regions.","type":"options","options":[{"name":"Standard","value":"standard"},{"name":"Optimized","value":"optimized"}]},{"displayName":"Guardrail","name":"guardrail","type":"fixedCollection","default":{},"description":"Apply an Amazon Bedrock guardrail to requests","options":[{"displayName":"Guardrail","name":"values","values":[{"displayName":"Guardrail Identifier","name":"guardrailIdentifier","type":"string","default":"","description":"The identifier (ID or ARN) of the guardrail to apply"},{"displayName":"Guardrail Version","name":"guardrailVersion","type":"string","default":"DRAFT","description":"The version of the guardrail to apply, e.g. \"1\". Defaults to the working draft (\"DRAFT\")."},{"displayName":"Trace","name":"trace","type":"options","default":"disabled","description":"The trace behavior for the guardrail","options":[{"name":"Disabled","value":"disabled"},{"name":"Enabled","value":"enabled"},{"name":"Enabled (Full)","value":"enabled_full"}]}]}]}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatAwsBedrock/bedrock.svg"},
45
45
  {"displayName":"Cohere Chat Model","name":"lmChatCohere","group":["transform"],"version":[1],"description":"For advanced usage with an AI chain","defaults":{"name":"Cohere Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatcohere/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"cohereApi","required":true}],"requestDefaults":{"baseURL":"={{$credentials?.url}}","headers":{"accept":"application/json","authorization":"=Bearer {{$credentials?.apiKey}}"}},"properties":[{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Model","name":"model","type":"options","description":"The model which will generate the completion. <a href=\"https://docs.cohere.com/docs/models\">Learn more</a>.","typeOptions":{"loadOptions":{"routing":{"request":{"method":"GET","url":"/v1/models?page_size=100&endpoint=chat"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"models"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.name}}","value":"={{$responseItem.name}}","description":"={{$responseItem.description}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"default":"command-a-03-2025","builderHint":{"propertyHint":"Default to the latest Cohere Command A model (command-a-03-2025). Avoid command-r and command-light legacy variants."}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":2,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt","type":"number"}]}],"iconUrl":{"light":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatCohere/cohere.svg","dark":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatCohere/cohere.dark.svg"}},
46
46
  {"displayName":"DeepSeek Chat Model","name":"lmChatDeepSeek","group":["transform"],"version":[1],"description":"For advanced usage with an AI chain","defaults":{"name":"DeepSeek Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatdeepseek/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"deepSeekApi","required":true}],"requestDefaults":{"ignoreHttpStatusErrors":true,"baseURL":"={{ $credentials?.url }}"},"properties":[{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"If using JSON response format, you must include word \"json\" in the prompt in your chain or agent. Also, make sure to select latest models released post November 2023.","name":"notice","type":"notice","default":"","displayOptions":{"show":{"/options.responseFormat":["json_object"]}}},{"displayName":"Model","name":"model","type":"options","description":"The model which will generate the completion. <a href=\"https://api-docs.deepseek.com/quick_start/pricing\">Learn more</a>.","typeOptions":{"loadOptions":{"routing":{"request":{"method":"GET","url":"/models"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"data"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.id}}","value":"={{$responseItem.id}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"deepseek-chat","builderHint":{"propertyHint":"Default to the latest DeepSeek (deepseek-chat = V3.2 non-thinking, deepseek-reasoner = V3.2 thinking / R-series reasoning). Avoid older V3 and R1 snapshots."}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Frequency Penalty","name":"frequencyPenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim","type":"number"},{"displayName":"Maximum Number of Tokens","name":"maxTokens","default":-1,"description":"The maximum number of tokens to generate in the completion. Most models have a context length of 2048 tokens (except for the newest models, which support 32,768).","type":"number","typeOptions":{"maxValue":32768}},{"displayName":"Response Format","name":"responseFormat","default":"text","type":"options","options":[{"name":"Text","value":"text","description":"Regular text response"},{"name":"JSON","value":"json_object","description":"Enables JSON mode, which should guarantee the message the model generates is valid JSON"}]},{"displayName":"Presence Penalty","name":"presencePenalty","default":0,"typeOptions":{"maxValue":2,"minValue":-2,"numberPrecision":1},"description":"Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.7,"typeOptions":{"maxValue":2,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Timeout","name":"timeout","default":360000,"description":"Maximum amount of time a request is allowed to take in milliseconds","type":"number"},{"displayName":"Max Retries","name":"maxRetries","default":2,"description":"Maximum number of retries to attempt","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatDeepSeek/deepseek.svg"},
47
47
  {"displayName":"Google Gemini Chat Model","name":"lmChatGoogleGemini","group":["transform"],"version":[1,1.1],"description":"Chat Model Google Gemini","defaults":{"name":"Google Gemini Chat Model"},"codex":{"categories":["AI"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]}},"inputs":[],"outputs":["ai_languageModel"],"outputNames":["Model"],"credentials":[{"name":"googlePalmApi","required":true}],"requestDefaults":{"ignoreHttpStatusErrors":true,"baseURL":"={{ $credentials.host }}"},"properties":[{"displayName":"This node must be connected to an AI chain. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Model","name":"modelName","type":"options","description":"The model which will generate the completion. <a href=\"https://developers.generativeai.google/api/rest/generativelanguage/models/list\">Learn more</a>.","typeOptions":{"loadOptions":{"routing":{"request":{"method":"GET","url":"/v1beta/models"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"models"}},{"type":"filter","properties":{"pass":"={{ !$responseItem.name.includes('embedding') && !$responseItem.name.includes('imagen') }}"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.name}}","value":"={{$responseItem.name}}","description":"={{$responseItem.description}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"models/gemini-2.5-flash","builderHint":{"propertyHint":"Default to the latest flagship Gemini (models/gemini-3.1-pro-preview). Use models/gemini-3.1-flash-lite for cost-efficient builds. Avoid Gemini 2.x, 1.x, and earlier."},"displayOptions":{"show":{"@version":[{"_cnd":{"eq":1}}]}}},{"displayName":"Model","name":"modelName","type":"options","description":"The model which will generate the completion. <a href=\"https://developers.generativeai.google/api/rest/generativelanguage/models/list\">Learn more</a>.","typeOptions":{"loadOptions":{"routing":{"request":{"method":"GET","url":"/v1beta/models"},"output":{"postReceive":[{"type":"rootProperty","properties":{"property":"models"}},{"type":"filter","properties":{"pass":"={{ !$responseItem.name.includes('embedding') && !$responseItem.name.includes('imagen') }}"}},{"type":"setKeyValue","properties":{"name":"={{$responseItem.name}}","value":"={{$responseItem.name}}","description":"={{$responseItem.description}}"}},{"type":"sort","properties":{"key":"name"}}]}}}},"routing":{"send":{"type":"body","property":"model"}},"default":"models/gemini-3-flash-preview","builderHint":{"propertyHint":"Default to the latest flagship Gemini (models/gemini-3.1-pro-preview). Use models/gemini-3.1-flash-lite for cost-efficient builds. Avoid Gemini 2.x, 1.x, and earlier."},"displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}}},{"displayName":"Options","name":"options","placeholder":"Add Option","description":"Additional options to add","type":"collection","default":{},"options":[{"displayName":"Maximum Number of Tokens","name":"maxOutputTokens","default":2048,"description":"The maximum number of tokens to generate in the completion","type":"number"},{"displayName":"Sampling Temperature","name":"temperature","default":0.4,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls randomness: Lowering results in less random completions. As the temperature approaches zero, the model will become deterministic and repetitive.","type":"number"},{"displayName":"Top K","name":"topK","default":32,"typeOptions":{"maxValue":40,"minValue":-1,"numberPrecision":1},"description":"Used to remove \"long tail\" low probability responses. Defaults to -1, which disables it.","type":"number"},{"displayName":"Top P","name":"topP","default":1,"typeOptions":{"maxValue":1,"minValue":0,"numberPrecision":1},"description":"Controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.","type":"number"},{"displayName":"Safety Settings","name":"safetySettings","type":"fixedCollection","typeOptions":{"multipleValues":true},"default":{"values":{"category":"HARM_CATEGORY_HARASSMENT","threshold":"HARM_BLOCK_THRESHOLD_UNSPECIFIED"}},"placeholder":"Add Option","options":[{"name":"values","displayName":"Values","values":[{"displayName":"Safety Category","name":"category","type":"options","description":"The category of harmful content to block","default":"HARM_CATEGORY_UNSPECIFIED","options":[{"value":"HARM_CATEGORY_HARASSMENT","name":"HARM_CATEGORY_HARASSMENT","description":"Harassment content"},{"value":"HARM_CATEGORY_HATE_SPEECH","name":"HARM_CATEGORY_HATE_SPEECH","description":"Hate speech and content"},{"value":"HARM_CATEGORY_SEXUALLY_EXPLICIT","name":"HARM_CATEGORY_SEXUALLY_EXPLICIT","description":"Sexually explicit content"},{"value":"HARM_CATEGORY_DANGEROUS_CONTENT","name":"HARM_CATEGORY_DANGEROUS_CONTENT","description":"Dangerous content"}]},{"displayName":"Safety Threshold","name":"threshold","type":"options","description":"The threshold of harmful content to block","default":"HARM_BLOCK_THRESHOLD_UNSPECIFIED","options":[{"value":"HARM_BLOCK_THRESHOLD_UNSPECIFIED","name":"HARM_BLOCK_THRESHOLD_UNSPECIFIED","description":"Threshold is unspecified"},{"value":"BLOCK_LOW_AND_ABOVE","name":"BLOCK_LOW_AND_ABOVE","description":"Content with NEGLIGIBLE will be allowed"},{"value":"BLOCK_MEDIUM_AND_ABOVE","name":"BLOCK_MEDIUM_AND_ABOVE","description":"Content with NEGLIGIBLE and LOW will be allowed"},{"value":"BLOCK_ONLY_HIGH","name":"BLOCK_ONLY_HIGH","description":"Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed"},{"value":"BLOCK_NONE","name":"BLOCK_NONE","description":"All content will be allowed"}]}]}]}]}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatGoogleGemini/google.svg"},
@@ -95,7 +95,7 @@
95
95
  {"displayName":"Vector Store Question Answer Tool","name":"toolVectorStore","icon":"node:vector-store-question-answer-tool","iconColor":"black","group":["transform"],"version":[1,1.1],"description":"Answer questions with a vector store","defaults":{"name":"Answer questions with a vector store"},"codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Other Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolvectorstore/"}]}},"inputs":[{"displayName":"Vector Store","maxConnections":1,"type":"ai_vectorStore","required":true},{"displayName":"Model","maxConnections":1,"type":"ai_languageModel","required":true}],"outputs":["ai_tool"],"outputNames":["Tool"],"builderHint":{"inputs":{"ai_vectorStore":{"required":true},"ai_languageModel":{"required":true}}},"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"Data Name","name":"name","type":"string","default":"","placeholder":"e.g. users_info","validateType":"string-alphanumeric","description":"Name of the data in vector store. This will be used to fill this tool description: Useful for when you need to answer questions about [name]. Whenever you need information about [data description], you should ALWAYS use this. Input should be a fully formed question.","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Description of Data","name":"description","type":"string","default":"","placeholder":"[Describe your data here, e.g. a user's name, email, etc.]","description":"Describe the data in vector store. This will be used to fill this tool description: Useful for when you need to answer questions about [name]. Whenever you need information about [data description], you should ALWAYS use this. Input should be a fully formed question.","typeOptions":{"rows":3}},{"displayName":"Limit","name":"topK","type":"number","default":4,"description":"The maximum number of results to return"}]},
96
96
  {"displayName":"Wikipedia","name":"toolWikipedia","group":["transform"],"version":1,"description":"Search in Wikipedia","defaults":{"name":"Wikipedia"},"codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Other Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolwikipedia/"}]}},"inputs":[],"outputs":["ai_tool"],"outputNames":["Tool"],"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/tools/ToolWikipedia/wikipedia.svg"},
97
97
  {"displayName":"Wolfram|Alpha","name":"toolWolframAlpha","group":["transform"],"version":1,"description":"Connects to WolframAlpha's computational intelligence engine.","defaults":{"name":"Wolfram Alpha"},"credentials":[{"name":"wolframAlphaApi","required":true}],"codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Other Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolwolframalpha/"}]}},"inputs":[],"outputs":["ai_tool"],"outputNames":["Tool"],"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}}],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/tools/ToolWolframAlpha/wolfram-alpha.svg"},
98
- {"displayName":"Call n8n Workflow Tool","name":"toolWorkflow","icon":"node:call-n8n-sub-workflow-tool","iconColor":"black","group":["transform"],"description":"Uses another n8n workflow as a tool. Allows packaging any n8n node(s) as a tool.","codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/"}]}},"defaultVersion":2.2,"defaults":{"name":"Call n8n Workflow Tool"},"version":[2,2.1,2.2],"inputs":[],"outputs":["ai_tool"],"outputNames":["Tool"],"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"See an example of a workflow to suggest meeting slots using AI <a href=\"/templates/1953\" target=\"_blank\">here</a>.","name":"noticeTemplateExample","type":"notice","default":""},{"displayName":"Name","name":"name","type":"string","default":"","placeholder":"e.g. My_Color_Tool","validateType":"string-alphanumeric","description":"The name of the function to be called, could contain letters, numbers, and underscores only","displayOptions":{"show":{"@version":[{"_cnd":{"lte":2.1}}]}}},{"displayName":"Description","name":"description","type":"string","default":"","placeholder":"Call this tool to get a random color. The input should be a string with comma separated names of colors to exclude.","typeOptions":{"rows":3}},{"displayName":"This tool will call the workflow you define below, and look in the last node for the response. The workflow needs to start with an Execute Workflow trigger","name":"executeNotice","type":"notice","default":""},{"displayName":"Source","name":"source","type":"options","options":[{"name":"Database","value":"database","description":"Load the workflow from the database by ID"},{"name":"Define Below","value":"parameter","description":"Pass the JSON code of a workflow"}],"default":"database","description":"Where to get the workflow to execute from"},{"displayName":"Workflow","name":"workflowId","type":"workflowSelector","displayOptions":{"show":{"source":["database"]}},"default":"","required":true},{"displayName":"Workflow Inputs","name":"workflowInputs","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["workflowId.value"],"resourceMapper":{"localResourceMapperMethod":"loadSubWorkflowInputs","valuesLabel":"Workflow Inputs","mode":"map","fieldWords":{"singular":"workflow input","plural":"workflow inputs"},"addAllFields":true,"multiKeyMatch":false,"supportAutoMap":false}},"displayOptions":{"show":{"source":["database"]},"hide":{"workflowId":[""]}}},{"displayName":"Workflow JSON","name":"workflowJson","type":"json","typeOptions":{"rows":10},"displayOptions":{"show":{"source":["parameter"]}},"default":"\n\n\n\n\n\n\n\n\n","required":true,"description":"The workflow JSON code to execute"}]},
98
+ {"displayName":"Call n8n Workflow Tool","name":"toolWorkflow","icon":"node:call-n8n-sub-workflow-tool","iconColor":"black","group":["transform"],"description":"Uses another n8n workflow as a tool. Allows packaging any n8n node(s) as a tool.","codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/"}]}},"defaultVersion":2.2,"defaults":{"name":"Call n8n Workflow Tool"},"version":[2,2.1,2.2],"inputs":[],"outputs":["ai_tool"],"outputNames":["Tool"],"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"See an example of a workflow to suggest meeting slots using AI <a href=\"/templates/1953\" target=\"_blank\">here</a>.","name":"noticeTemplateExample","type":"notice","default":""},{"displayName":"Name","name":"name","type":"string","default":"","placeholder":"e.g. My_Color_Tool","validateType":"string-alphanumeric","description":"The name of the function to be called, could contain letters, numbers, and underscores only","displayOptions":{"show":{"@version":[{"_cnd":{"lte":2.1}}]}}},{"displayName":"Description","name":"description","type":"string","default":"","placeholder":"Call this tool to get a random color. The input should be a string with comma separated names of colors to exclude.","typeOptions":{"rows":3}},{"displayName":"This tool will call the workflow you define below, and look in the last node for the response. The workflow needs to start with an Execute Workflow trigger","name":"executeNotice","type":"notice","default":""},{"displayName":"Source","name":"source","type":"options","options":[{"name":"Database","value":"database","description":"Load the workflow from the database by ID"},{"name":"Define Below","value":"parameter","description":"Pass the JSON code of a workflow"}],"default":"database","description":"Where to get the workflow to execute from"},{"displayName":"Workflow","name":"workflowId","type":"workflowSelector","displayOptions":{"show":{"source":["database"]}},"default":"","required":true},{"displayName":"Workflow Inputs","name":"workflowInputs","type":"resourceMapper","noDataExpression":true,"default":{"mappingMode":"defineBelow","value":null},"required":true,"typeOptions":{"loadOptionsDependsOn":["workflowId.value"],"resourceMapper":{"localResourceMapperMethod":"loadSubWorkflowInputs","valuesLabel":"Workflow Inputs","mode":"map","fieldWords":{"singular":"workflow input","plural":"workflow inputs"},"addAllFields":true,"multiKeyMatch":false,"supportAutoMap":false,"refreshStaleSchemaOnOpen":true}},"displayOptions":{"show":{"source":["database"]},"hide":{"workflowId":[""]}}},{"displayName":"Workflow JSON","name":"workflowJson","type":"json","typeOptions":{"rows":10},"displayOptions":{"show":{"source":["parameter"]}},"default":"\n\n\n\n\n\n\n\n\n","required":true,"description":"The workflow JSON code to execute"}]},
99
99
  {"displayName":"Call n8n Workflow Tool","name":"toolWorkflow","icon":"node:call-n8n-sub-workflow-tool","iconColor":"black","group":["transform"],"description":"Uses another n8n workflow as a tool. Allows packaging any n8n node(s) as a tool.","codex":{"categories":["AI"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]},"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/"}]}},"defaultVersion":2.2,"version":[1,1.1,1.2,1.3],"defaults":{"name":"Call n8n Workflow Tool"},"inputs":[],"outputs":["ai_tool"],"outputNames":["Tool"],"properties":[{"displayName":"This node must be connected to an AI agent. <a data-action='openSelectiveNodeCreator' data-action-parameter-creatorview='AI'>Insert one</a>","name":"notice","type":"notice","default":"","typeOptions":{"containerClass":"ndv-connection-hint-notice"}},{"displayName":"See an example of a workflow to suggest meeting slots using AI <a href=\"/templates/1953\" target=\"_blank\">here</a>.","name":"noticeTemplateExample","type":"notice","default":""},{"displayName":"Name","name":"name","type":"string","default":"","placeholder":"My_Color_Tool","displayOptions":{"show":{"@version":[1]}}},{"displayName":"Name","name":"name","type":"string","default":"","placeholder":"e.g. My_Color_Tool","validateType":"string-alphanumeric","description":"The name of the function to be called, could contain letters, numbers, and underscores only","displayOptions":{"show":{"@version":[{"_cnd":{"gte":1.1}}]}}},{"displayName":"Description","name":"description","type":"string","default":"","placeholder":"Call this tool to get a random color. The input should be a string with comma separted names of colors to exclude.","typeOptions":{"rows":3}},{"displayName":"This tool will call the workflow you define below, and look in the last node for the response. The workflow needs to start with an Execute Workflow trigger","name":"executeNotice","type":"notice","default":""},{"displayName":"Source","name":"source","type":"options","options":[{"name":"Database","value":"database","description":"Load the workflow from the database by ID"},{"name":"Define Below","value":"parameter","description":"Pass the JSON code of a workflow"}],"default":"database","description":"Where to get the workflow to execute from"},{"displayName":"Workflow ID","name":"workflowId","type":"string","displayOptions":{"show":{"source":["database"],"@version":[{"_cnd":{"lte":1.1}}]}},"default":"","required":true,"description":"The workflow to execute","hint":"Can be found in the URL of the workflow"},{"displayName":"Workflow","name":"workflowId","type":"workflowSelector","displayOptions":{"show":{"source":["database"],"@version":[{"_cnd":{"gte":1.2}}]}},"default":"","required":true},{"displayName":"Workflow JSON","name":"workflowJson","type":"json","typeOptions":{"rows":10},"displayOptions":{"show":{"source":["parameter"]}},"default":"\n\n\n\n\n\n\n\n\n","required":true,"description":"The workflow JSON code to execute"},{"displayName":"Field to Return","name":"responsePropertyName","type":"string","default":"response","required":true,"hint":"The field in the last-executed node of the workflow that contains the response","description":"Where to find the data that this tool should return. n8n will look in the output of the last-executed node of the workflow for a field with this name, and return its value.","displayOptions":{"show":{"@version":[{"_cnd":{"lt":1.3}}]}}},{"displayName":"Extra Workflow Inputs","name":"fields","placeholder":"Add Value","type":"fixedCollection","description":"These will be output by the 'execute workflow' trigger of the workflow being called","typeOptions":{"multipleValues":true,"sortable":true},"default":{},"options":[{"name":"values","displayName":"Values","values":[{"displayName":"Name","name":"name","type":"string","default":"","placeholder":"e.g. fieldName","description":"Name of the field to set the value of. Supports dot-notation. Example: data.person[0].name.","requiresDataPath":"single"},{"displayName":"Type","name":"type","type":"options","description":"The field value type","options":[{"name":"String","value":"stringValue"},{"name":"Number","value":"numberValue"},{"name":"Boolean","value":"booleanValue"},{"name":"Array","value":"arrayValue"},{"name":"Object","value":"objectValue"}],"default":"stringValue"},{"displayName":"Value","name":"stringValue","type":"string","default":"","displayOptions":{"show":{"type":["stringValue"]}},"validateType":"string","ignoreValidationDuringExecution":true},{"displayName":"Value","name":"numberValue","type":"string","default":"","displayOptions":{"show":{"type":["numberValue"]}},"validateType":"number","ignoreValidationDuringExecution":true},{"displayName":"Value","name":"booleanValue","type":"options","default":"true","options":[{"name":"True","value":"true"},{"name":"False","value":"false"}],"displayOptions":{"show":{"type":["booleanValue"]}},"validateType":"boolean","ignoreValidationDuringExecution":true},{"displayName":"Value","name":"arrayValue","type":"string","default":"","placeholder":"e.g. [ arrayItem1, arrayItem2, arrayItem3 ]","displayOptions":{"show":{"type":["arrayValue"]}},"validateType":"array","ignoreValidationDuringExecution":true},{"displayName":"Value","name":"objectValue","type":"json","default":"={}","typeOptions":{"rows":2},"displayOptions":{"show":{"type":["objectValue"]}},"validateType":"object","ignoreValidationDuringExecution":true}]}]},{"displayName":"Specify Input Schema","name":"specifyInputSchema","type":"boolean","description":"Whether to specify the schema for the function. This would require the LLM to provide the input in the correct format and would validate it against the schema.","noDataExpression":true,"default":false},{"displayName":"Schema Type","name":"schemaType","type":"options","noDataExpression":true,"options":[{"name":"Generate From JSON Example","value":"fromJson","description":"Generate a schema from an example JSON object"},{"name":"Define using JSON Schema","value":"manual","description":"Define the JSON schema manually"}],"default":"fromJson","description":"How to specify the schema for the function","displayOptions":{"show":{"specifyInputSchema":[true]}}},{"displayName":"JSON Example","name":"jsonSchemaExample","type":"json","default":"{\n\t\"some_input\": \"some_value\"\n}","noDataExpression":true,"typeOptions":{"rows":10},"displayOptions":{"show":{"schemaType":["fromJson"]}},"description":"Example JSON object to use to generate the schema"},{"displayName":"Input Schema","name":"inputSchema","type":"json","default":"{\n\"type\": \"object\",\n\"properties\": {\n\t\"some_input\": {\n\t\t\"type\": \"string\",\n\t\t\"description\": \"Some input to the function\"\n\t\t}\n\t}\n}","noDataExpression":false,"typeOptions":{"rows":10},"displayOptions":{"show":{"schemaType":["manual"]}},"description":"Schema to use for the function","hint":"Use <a target=\"_blank\" href=\"https://json-schema.org/\">JSON Schema</a> format (<a target=\"_blank\" href=\"https://json-schema.org/learn/miscellaneous-examples.html\">examples</a>). $refs syntax is currently not supported."}]},
100
100
  {"displayName":"Manual Chat Trigger","name":"manualChatTrigger","icon":"fa:comments","group":["trigger"],"version":[1,1.1],"description":"Runs the flow on new manual chat message","eventTriggerDescription":"","maxNodes":1,"hidden":true,"defaults":{"name":"When chat message received","color":"#909298"},"codex":{"categories":["Core Nodes"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/"}]},"subcategories":{"Core Nodes":["Other Trigger Nodes"]}},"inputs":[],"outputs":["main"],"properties":[{"displayName":"This node is where a manual chat workflow execution starts. To make one, go back to the canvas and click ‘Chat’","name":"notice","type":"notice","default":""},{"displayName":"Chat and execute workflow","name":"openChat","type":"button","typeOptions":{"buttonConfig":{"action":"openChat"}},"default":""}]},
101
101
  {"displayName":"Chat Trigger","name":"chatTrigger","icon":"node:chat-trigger","iconColor":"black","group":["trigger"],"version":[1,1.1,1.2,1.3,1.4],"defaultVersion":1.4,"description":"Runs the workflow when an n8n generated webchat is submitted","defaults":{"name":"When chat message received"},"codex":{"categories":["Core Nodes"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/"}]}},"maxNodes":1,"inputs":"={{ (() => {\n\t\t\tif (!['hostedChat', 'webhook'].includes($parameter.mode)) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tif ($parameter.options?.loadPreviousSession !== 'memory') {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Memory',\n\t\t\t\t\tmaxConnections: 1,\n\t\t\t\t\ttype: 'ai_memory',\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t];\n\t\t })() }}","outputs":["main"],"builderHint":{"searchHint":"Pair with `@n8n/n8n-nodes-langchain.agent` for chatbot workflows. Reply delivery is controlled by `options.responseMode` — `streaming` (Agent streams directly to widget) is simplest and preferred. For `lastNode` mode, the workflow's last-executed node MUST output `{ output: '<reply>' }` — typically the Agent itself or a Set node re-shaping data; ending the chain with a Data Table insert, HTTP Request, or other side-effect node will fail. Put logging or persistence on a parallel branch, not inline after the Agent.","relatedNodes":[{"nodeType":"@n8n/n8n-nodes-langchain.agent","relationHint":"Main reply producer; use `responseMode: 'streaming'` so the Agent streams directly to the widget."},{"nodeType":"n8n-nodes-base.set","relationHint":"Append at the end of a `responseMode: 'lastNode'` chain to re-shape the last node's output into `{ output: '<reply text>' }` when the natural last step (e.g. a Data Table insert) doesn't produce chat-shaped data."},{"nodeType":"@n8n/n8n-nodes-langchain.chat","relationHint":"Required for `responseMode: 'responseNodes'`. Place inside the flow wherever you want to emit a reply chunk."}],"inputs":{"ai_memory":{"required":true,"displayOptions":{"show":{"mode":["hostedChat","webhook"],"options.loadPreviousSession":["memory"]}}}}},"credentials":[{"name":"httpBasicAuth","required":true,"displayOptions":{"show":{"authentication":["basicAuth"]}}}],"webhooks":[{"name":"setup","httpMethod":"GET","responseMode":"onReceived","path":"chat","ndvHideUrl":true},{"name":"default","httpMethod":"POST","responseMode":"={{$parameter.options?.[\"responseMode\"] ?? ($parameter.availableInChat ? \"streaming\" : \"lastNode\") }}","path":"chat","ndvHideMethod":true,"ndvHideUrl":"={{ !$parameter.public }}"}],"eventTriggerDescription":"Waiting for you to submit the chat","activationMessage":"You can now make calls to your production chat URL.","triggerPanel":false,"properties":[{"displayName":"Make Chat Publicly Available","name":"public","type":"boolean","default":false,"description":"Whether the chat should be publicly available or only accessible through the manual chat interface"},{"displayName":"Mode","name":"mode","type":"options","options":[{"name":"Hosted Chat","value":"hostedChat","description":"Chat on a page served by n8n"},{"name":"Embedded Chat","value":"webhook","description":"Chat through a widget embedded in another page, or by calling a webhook"}],"default":"hostedChat","displayOptions":{"show":{"public":[true]}}},{"displayName":"Chat will be live at the URL above once this workflow is published. Live executions will show up in the ‘executions’ tab","name":"hostedChatNotice","type":"notice","displayOptions":{"show":{"mode":["hostedChat"],"public":[true]}},"default":""},{"displayName":"Follow the instructions <a href=\"https://www.npmjs.com/package/@n8n/chat\" target=\"_blank\">here</a> to embed chat in a webpage (or just call the webhook URL at the top of this section). Chat will be live once you publish this workflow","name":"embeddedChatNotice","type":"notice","displayOptions":{"show":{"mode":["webhook"],"public":[true]}},"default":""},{"displayName":"Authentication","name":"authentication","type":"options","displayOptions":{"show":{"public":[true]}},"options":[{"name":"Basic Auth","value":"basicAuth","description":"Simple username and password (the same one for all users)"},{"name":"n8n User Auth","value":"n8nUserAuth","description":"Require user to be logged in with their n8n account"},{"name":"None","value":"none"}],"default":"none","description":"The way to authenticate","builderHint":{"propertyHint":"Default to 'none'. n8n exposes inbound trigger URLs publicly by design. Only select an authentication method when the user explicitly asks to authenticate inbound traffic."}},{"displayName":"Initial Message(s)","name":"initialMessages","type":"string","displayOptions":{"show":{"mode":["hostedChat"],"public":[true]}},"typeOptions":{"rows":3},"default":"Hi there! 👋\nMy name is Nathan. How can I assist you today?","description":"Default messages shown at the start of the chat, one per line"},{"displayName":"Make Available in n8n Chat Hub","name":"availableInChat","type":"boolean","default":false,"noDataExpression":true,"description":"Whether to make the agent available in n8n Chat Hub for n8n instance users to chat with"},{"displayName":"Your Chat Trigger node is out of date. To update, delete this node and insert a new Chat Trigger node.","name":"availableInChatNotice","type":"notice","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"lt":1.2}}]}},"default":""},{"displayName":"Your n8n users will be able to use this agent in <a href=\"/home/chat/\" target=\"_blank\">Chat</a> once this workflow is published. Make sure to share this workflow with at least Project Chat User access to all users who should use it.","name":"availableInChatNotice","type":"notice","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"gte":1.2}}]}},"default":""},{"displayName":"Agent Icon","name":"agentIcon","type":"icon","default":{"type":"icon","value":"bot"},"noDataExpression":true,"description":"The icon of the agent on n8n Chat","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"gte":1.2}}]}}},{"displayName":"Agent Name","name":"agentName","type":"string","default":"","noDataExpression":true,"description":"The name of the agent on n8n Chat. Name of the workflow is used if left empty.","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"gte":1.2}}]}}},{"displayName":"Agent Description","name":"agentDescription","type":"string","typeOptions":{"rows":2},"default":"","noDataExpression":true,"description":"The description of the agent on n8n Chat","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"gte":1.2}}]}}},{"displayName":"Suggestions","name":"suggestedPrompts","type":"fixedCollection","typeOptions":{"multipleValues":true,"fixedCollection":{"layout":"inline"}},"default":{},"noDataExpression":true,"placeholder":"Add Prompt","description":"Suggested prompts shown to users in n8n Chat Hub to start a conversation with the agent","displayOptions":{"show":{"availableInChat":[true],"@version":[{"_cnd":{"gte":1.2}}]}},"options":[{"name":"prompts","displayName":"Prompts","values":[{"displayName":"Icon","name":"icon","type":"icon","noDataExpression":true,"default":{"type":"icon","value":"comment"}},{"displayName":"Prompt Text","name":"text","type":"string","default":"","noDataExpression":true,"required":true}]}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"public":[false],"@version":[1,1.1]}},"placeholder":"Add Field","default":{},"options":[{"displayName":"Allow File Uploads","name":"allowFileUploads","type":"boolean","default":false,"description":"Whether to allow file uploads in the chat"},{"displayName":"Allowed File Mime Types","name":"allowedFilesMimeTypes","type":"string","default":"*","placeholder":"e.g. image/*, text/*, application/pdf","description":"Allowed file types for upload. Comma-separated list of <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\" target=\"_blank\">MIME types</a>."}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"mode":["hostedChat","webhook"],"public":[true],"@version":[1,1.1]}},"placeholder":"Add Field","default":{},"options":[{"displayName":"Allowed Origins (CORS)","name":"allowedOrigins","type":"string","default":"*","description":"Comma-separated list of URLs allowed for cross-origin non-preflight requests. Use * (default) to allow all origins.","displayOptions":{"show":{"/mode":["hostedChat","webhook"]}}},{"displayName":"Allow File Uploads","name":"allowFileUploads","type":"boolean","default":false,"description":"Whether to allow file uploads in the chat","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Allowed File Mime Types","name":"allowedFilesMimeTypes","type":"string","default":"*","placeholder":"e.g. image/*, text/*, application/pdf","description":"Allowed file types for upload. Comma-separated list of <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\" target=\"_blank\">MIME types</a>.","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Input Placeholder","name":"inputPlaceholder","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Type your question..","placeholder":"e.g. Type your message here","description":"Shown as placeholder text in the chat input field"},{"displayName":"Load Previous Session","name":"loadPreviousSession","type":"options","options":[{"name":"Off","value":"notSupported","description":"Loading messages of previous session is turned off"},{"name":"From Memory","value":"memory","description":"Load session messages from memory"},{"name":"Manually","value":"manually","description":"Manually return messages of session"}],"default":"notSupported","description":"If loading messages of a previous session should be enabled","builderHint":{"propertyHint":"This ONLY rehydrates the chat widget UI when the user reopens it — it does NOT give the Agent memory. The Agent gets memory from its own memory subnode regardless of this setting. Only set to 'memory' if the user wants the widget to restore visible history on reload; if so, you MUST also attach a memory subnode to this trigger (use the same memory node as the Agent so widget history matches what the Agent remembers). Otherwise leave as 'notSupported'."}},{"displayName":"Require Button Click to Start Chat","name":"showWelcomeScreen","type":"boolean","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":false,"description":"Whether to show the welcome screen at the start of the chat"},{"displayName":"Start Conversation Button Text","name":"getStarted","type":"string","displayOptions":{"show":{"showWelcomeScreen":[true],"/mode":["hostedChat"]}},"default":"New Conversation","placeholder":"e.g. New Conversation","description":"Shown as part of the welcome screen, in the middle of the chat window"},{"displayName":"Subtitle","name":"subtitle","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Start a chat. We're here to help you 24/7.","placeholder":"e.g. We're here for you","description":"Shown at the top of the chat, under the title"},{"displayName":"Title","name":"title","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Hi there! 👋","placeholder":"e.g. Welcome","description":"Shown at the top of the chat"},{"displayName":"Custom Chat Styling","name":"customCss","type":"string","typeOptions":{"rows":10,"editor":"cssEditor"},"displayOptions":{"show":{"/mode":["hostedChat"]}},"default":":root {\n /* Colors */\n --chat--color--primary: #e74266;\n --chat--color--primary-shade-50: #db4061;\n --chat--color--primary--shade-100: #cf3c5c;\n --chat--color--secondary: #20b69e;\n --chat--color-secondary-shade-50: #1ca08a;\n --chat--color-white: #fff;\n --chat--color-light: #f2f4f8;\n --chat--color-light-shade-50: #e6e9f1;\n --chat--color-light-shade-100: #c2c5cc;\n --chat--color-medium: #d2d4d9;\n --chat--color-dark: #101330;\n --chat--color-disabled: #d2d4d9;\n --chat--color-typing: #404040;\n\n /* Base Layout */\n --chat--spacing: 1rem;\n --chat--border-radius: 0.25rem;\n --chat--transition-duration: 0.15s;\n --chat--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\n\n /* Window Dimensions */\n --chat--window--width: 400px;\n --chat--window--height: 600px;\n --chat--window--bottom: var(--chat--spacing);\n --chat--window--right: var(--chat--spacing);\n --chat--window--z-index: 9999;\n --chat--window--border: 1px solid var(--chat--color-light-shade-50);\n --chat--window--border-radius: var(--chat--border-radius);\n --chat--window--margin-bottom: var(--chat--spacing);\n\n /* Header Styles */\n --chat--header-height: auto;\n --chat--header--padding: var(--chat--spacing);\n --chat--header--background: var(--chat--color-dark);\n --chat--header--color: var(--chat--color-light);\n --chat--header--border-top: none;\n --chat--header--border-bottom: none;\n --chat--header--border-left: none;\n --chat--header--border-right: none;\n --chat--heading--font-size: 2em;\n --chat--subtitle--font-size: inherit;\n --chat--subtitle--line-height: 1.8;\n\n /* Message Styles */\n --chat--message--font-size: 1rem;\n --chat--message--padding: var(--chat--spacing);\n --chat--message--border-radius: var(--chat--border-radius);\n --chat--message-line-height: 1.5;\n --chat--message--margin-bottom: calc(var(--chat--spacing) * 1);\n --chat--message--bot--background: var(--chat--color-white);\n --chat--message--bot--color: var(--chat--color-dark);\n --chat--message--bot--border: none;\n --chat--message--user--background: var(--chat--color--secondary);\n --chat--message--user--color: var(--chat--color-white);\n --chat--message--user--border: none;\n --chat--message--pre--background: rgba(0, 0, 0, 0.05);\n --chat--messages-list--padding: var(--chat--spacing);\n\n /* Toggle Button */\n --chat--toggle--size: 64px;\n --chat--toggle--width: var(--chat--toggle--size);\n --chat--toggle--height: var(--chat--toggle--size);\n --chat--toggle--border-radius: 50%;\n --chat--toggle--background: var(--chat--color--primary);\n --chat--toggle--hover--background: var(--chat--color--primary-shade-50);\n --chat--toggle--active--background: var(--chat--color--primary--shade-100);\n --chat--toggle--color: var(--chat--color-white);\n\n /* Input Area */\n --chat--textarea--height: 50px;\n --chat--textarea--max-height: 30rem;\n --chat--input--font-size: inherit;\n --chat--input--border: 0;\n --chat--input--border-radius: 0;\n --chat--input--padding: 0.8rem;\n --chat--input--background: var(--chat--color-white);\n --chat--input--text-color: initial;\n --chat--input--line-height: 1.5;\n --chat--input--placeholder--font-size: var(--chat--input--font-size);\n --chat--input--border-active: 0;\n --chat--input--left--panel--width: 2rem;\n\n /* Button Styles */\n --chat--button--padding: calc(var(--chat--spacing) * 5 / 8) var(--chat--spacing);\n --chat--button--border-radius: var(--chat--border-radius);\n --chat--button--font-size: 1rem;\n --chat--button--line-height: 1;\n --chat--button--color--primary: var(--chat--color-light);\n --chat--button--background--primary: var(--chat--color--secondary);\n --chat--button--border--primary: none;\n --chat--button--color--primary--hover: var(--chat--color-light);\n --chat--button--background--primary--hover: var(--chat--color-secondary-shade-50);\n --chat--button--border--primary--hover: none;\n --chat--button--color--primary--disabled: var(--chat--color-light);\n --chat--button--background--primary--disabled: #81bbb1;\n --chat--button--border--primary--disabled: none;\n --chat--button--color--secondary: var(--chat--color-light);\n --chat--button--background--secondary: hsl(0, 0%, 58%);\n --chat--button--border--secondary: none;\n --chat--button--color--secondary--hover: var(--chat--color-light);\n --chat--button--background--secondary--hover: hsl(0, 0%, 51%);\n --chat--button--border--secondary--hover: none;\n --chat--button--color--secondary--disabled: var(--chat--color-light);\n --chat--button--background--secondary--disabled: hsl(0, 0%, 78%);\n --chat--button--border--secondary--disabled: none;\n --chat--close--button--color-hover: var(--chat--color--primary);\n\n /* Send and File Buttons */\n --chat--input--send--button--background: var(--chat--color-white);\n --chat--input--send--button--color: var(--chat--color--secondary);\n --chat--input--send--button--background-hover: var(--chat--color--primary-shade-50);\n --chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--input--file--button--background: var(--chat--color-white);\n --chat--input--file--button--color: var(--chat--color--secondary);\n --chat--input--file--button--background-hover: var(--chat--input--file--button--background);\n --chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--files-spacing: 0.25rem;\n\n /* Body and Footer */\n --chat--body--background: var(--chat--color-light);\n --chat--footer--background: var(--chat--color-light);\n --chat--footer--color: var(--chat--color-dark);\n}\n\n\n/* You can override any class styles, too. Right-click inspect in Chat UI to find class to override. */\n.chat-message {\n\tmax-width: 50%;\n}","description":"Override default styling of the public chat interface with CSS"},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Using 'Respond to Webhook' Node","value":"responseNode","description":"Response defined in that node"}],"default":"lastNode","description":"When and how to respond to the webhook","builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Auto-save highlighted data","name":"autoSaveHighlightedData","type":"boolean","default":true,"description":"Whether to automatically save <a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executiondata/\" target=\"_blank\">highlighted data</a>. This data can then be used to filter executions in the Executions view. Available on Pro and Enterprise plans in n8n Cloud, and on Enterprise or registered Community Edition for self-hosted. Defaults to true."}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"mode":["hostedChat","webhook"],"public":[true],"@version":[1.2]}},"placeholder":"Add Field","default":{},"options":[{"displayName":"Allowed Origins (CORS)","name":"allowedOrigins","type":"string","default":"*","description":"Comma-separated list of URLs allowed for cross-origin non-preflight requests. Use * (default) to allow all origins.","displayOptions":{"show":{"/mode":["hostedChat","webhook"]}}},{"displayName":"Allow File Uploads","name":"allowFileUploads","type":"boolean","default":false,"description":"Whether to allow file uploads in the chat","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Allowed File Mime Types","name":"allowedFilesMimeTypes","type":"string","default":"*","placeholder":"e.g. image/*, text/*, application/pdf","description":"Allowed file types for upload. Comma-separated list of <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\" target=\"_blank\">MIME types</a>.","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Input Placeholder","name":"inputPlaceholder","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Type your question..","placeholder":"e.g. Type your message here","description":"Shown as placeholder text in the chat input field"},{"displayName":"Load Previous Session","name":"loadPreviousSession","type":"options","options":[{"name":"Off","value":"notSupported","description":"Loading messages of previous session is turned off"},{"name":"From Memory","value":"memory","description":"Load session messages from memory"},{"name":"Manually","value":"manually","description":"Manually return messages of session"}],"default":"notSupported","description":"If loading messages of a previous session should be enabled","builderHint":{"propertyHint":"This ONLY rehydrates the chat widget UI when the user reopens it — it does NOT give the Agent memory. The Agent gets memory from its own memory subnode regardless of this setting. Only set to 'memory' if the user wants the widget to restore visible history on reload; if so, you MUST also attach a memory subnode to this trigger (use the same memory node as the Agent so widget history matches what the Agent remembers). Otherwise leave as 'notSupported'."}},{"displayName":"Require Button Click to Start Chat","name":"showWelcomeScreen","type":"boolean","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":false,"description":"Whether to show the welcome screen at the start of the chat"},{"displayName":"Start Conversation Button Text","name":"getStarted","type":"string","displayOptions":{"show":{"showWelcomeScreen":[true],"/mode":["hostedChat"]}},"default":"New Conversation","placeholder":"e.g. New Conversation","description":"Shown as part of the welcome screen, in the middle of the chat window"},{"displayName":"Subtitle","name":"subtitle","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Start a chat. We're here to help you 24/7.","placeholder":"e.g. We're here for you","description":"Shown at the top of the chat, under the title"},{"displayName":"Title","name":"title","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Hi there! 👋","placeholder":"e.g. Welcome","description":"Shown at the top of the chat"},{"displayName":"Custom Chat Styling","name":"customCss","type":"string","typeOptions":{"rows":10,"editor":"cssEditor"},"displayOptions":{"show":{"/mode":["hostedChat"]}},"default":":root {\n /* Colors */\n --chat--color--primary: #e74266;\n --chat--color--primary-shade-50: #db4061;\n --chat--color--primary--shade-100: #cf3c5c;\n --chat--color--secondary: #20b69e;\n --chat--color-secondary-shade-50: #1ca08a;\n --chat--color-white: #fff;\n --chat--color-light: #f2f4f8;\n --chat--color-light-shade-50: #e6e9f1;\n --chat--color-light-shade-100: #c2c5cc;\n --chat--color-medium: #d2d4d9;\n --chat--color-dark: #101330;\n --chat--color-disabled: #d2d4d9;\n --chat--color-typing: #404040;\n\n /* Base Layout */\n --chat--spacing: 1rem;\n --chat--border-radius: 0.25rem;\n --chat--transition-duration: 0.15s;\n --chat--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\n\n /* Window Dimensions */\n --chat--window--width: 400px;\n --chat--window--height: 600px;\n --chat--window--bottom: var(--chat--spacing);\n --chat--window--right: var(--chat--spacing);\n --chat--window--z-index: 9999;\n --chat--window--border: 1px solid var(--chat--color-light-shade-50);\n --chat--window--border-radius: var(--chat--border-radius);\n --chat--window--margin-bottom: var(--chat--spacing);\n\n /* Header Styles */\n --chat--header-height: auto;\n --chat--header--padding: var(--chat--spacing);\n --chat--header--background: var(--chat--color-dark);\n --chat--header--color: var(--chat--color-light);\n --chat--header--border-top: none;\n --chat--header--border-bottom: none;\n --chat--header--border-left: none;\n --chat--header--border-right: none;\n --chat--heading--font-size: 2em;\n --chat--subtitle--font-size: inherit;\n --chat--subtitle--line-height: 1.8;\n\n /* Message Styles */\n --chat--message--font-size: 1rem;\n --chat--message--padding: var(--chat--spacing);\n --chat--message--border-radius: var(--chat--border-radius);\n --chat--message-line-height: 1.5;\n --chat--message--margin-bottom: calc(var(--chat--spacing) * 1);\n --chat--message--bot--background: var(--chat--color-white);\n --chat--message--bot--color: var(--chat--color-dark);\n --chat--message--bot--border: none;\n --chat--message--user--background: var(--chat--color--secondary);\n --chat--message--user--color: var(--chat--color-white);\n --chat--message--user--border: none;\n --chat--message--pre--background: rgba(0, 0, 0, 0.05);\n --chat--messages-list--padding: var(--chat--spacing);\n\n /* Toggle Button */\n --chat--toggle--size: 64px;\n --chat--toggle--width: var(--chat--toggle--size);\n --chat--toggle--height: var(--chat--toggle--size);\n --chat--toggle--border-radius: 50%;\n --chat--toggle--background: var(--chat--color--primary);\n --chat--toggle--hover--background: var(--chat--color--primary-shade-50);\n --chat--toggle--active--background: var(--chat--color--primary--shade-100);\n --chat--toggle--color: var(--chat--color-white);\n\n /* Input Area */\n --chat--textarea--height: 50px;\n --chat--textarea--max-height: 30rem;\n --chat--input--font-size: inherit;\n --chat--input--border: 0;\n --chat--input--border-radius: 0;\n --chat--input--padding: 0.8rem;\n --chat--input--background: var(--chat--color-white);\n --chat--input--text-color: initial;\n --chat--input--line-height: 1.5;\n --chat--input--placeholder--font-size: var(--chat--input--font-size);\n --chat--input--border-active: 0;\n --chat--input--left--panel--width: 2rem;\n\n /* Button Styles */\n --chat--button--padding: calc(var(--chat--spacing) * 5 / 8) var(--chat--spacing);\n --chat--button--border-radius: var(--chat--border-radius);\n --chat--button--font-size: 1rem;\n --chat--button--line-height: 1;\n --chat--button--color--primary: var(--chat--color-light);\n --chat--button--background--primary: var(--chat--color--secondary);\n --chat--button--border--primary: none;\n --chat--button--color--primary--hover: var(--chat--color-light);\n --chat--button--background--primary--hover: var(--chat--color-secondary-shade-50);\n --chat--button--border--primary--hover: none;\n --chat--button--color--primary--disabled: var(--chat--color-light);\n --chat--button--background--primary--disabled: #81bbb1;\n --chat--button--border--primary--disabled: none;\n --chat--button--color--secondary: var(--chat--color-light);\n --chat--button--background--secondary: hsl(0, 0%, 58%);\n --chat--button--border--secondary: none;\n --chat--button--color--secondary--hover: var(--chat--color-light);\n --chat--button--background--secondary--hover: hsl(0, 0%, 51%);\n --chat--button--border--secondary--hover: none;\n --chat--button--color--secondary--disabled: var(--chat--color-light);\n --chat--button--background--secondary--disabled: hsl(0, 0%, 78%);\n --chat--button--border--secondary--disabled: none;\n --chat--close--button--color-hover: var(--chat--color--primary);\n\n /* Send and File Buttons */\n --chat--input--send--button--background: var(--chat--color-white);\n --chat--input--send--button--color: var(--chat--color--secondary);\n --chat--input--send--button--background-hover: var(--chat--color--primary-shade-50);\n --chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--input--file--button--background: var(--chat--color-white);\n --chat--input--file--button--color: var(--chat--color--secondary);\n --chat--input--file--button--background-hover: var(--chat--input--file--button--background);\n --chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--files-spacing: 0.25rem;\n\n /* Body and Footer */\n --chat--body--background: var(--chat--color-light);\n --chat--footer--background: var(--chat--color-light);\n --chat--footer--color: var(--chat--color-dark);\n}\n\n\n/* You can override any class styles, too. Right-click inspect in Chat UI to find class to override. */\n.chat-message {\n\tmax-width: 50%;\n}","description":"Override default styling of the public chat interface with CSS"},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Using 'Respond to Webhook' Node","value":"responseNode","description":"Response defined in that node"},{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"}],"default":"lastNode","description":"When and how to respond to the webhook","displayOptions":{"show":{"/availableInChat":[false]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"}],"default":"streaming","description":"When and how to respond to the webhook","displayOptions":{"show":{"/availableInChat":[true]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Auto-save highlighted data","name":"autoSaveHighlightedData","type":"boolean","default":true,"description":"Whether to automatically save <a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executiondata/\" target=\"_blank\">highlighted data</a>. This data can then be used to filter executions in the Executions view. Available on Pro and Enterprise plans in n8n Cloud, and on Enterprise or registered Community Edition for self-hosted. Defaults to true."}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"public":[false],"@version":[{"_cnd":{"gte":1.3}}]}},"placeholder":"Add Field","default":{},"options":[{"displayName":"Allow File Uploads","name":"allowFileUploads","type":"boolean","default":false,"description":"Whether to allow file uploads in the chat"},{"displayName":"Allowed File Mime Types","name":"allowedFilesMimeTypes","type":"string","default":"*","placeholder":"e.g. image/*, text/*, application/pdf","description":"Allowed file types for upload. Comma-separated list of <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\" target=\"_blank\">MIME types</a>."},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Using Response Nodes","value":"responseNodes","description":"Send responses to the chat by using one or more Chat nodes"},{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"}],"default":"lastNode","description":"When and how to respond to the chat","displayOptions":{"show":{"/availableInChat":[false]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Using Response Nodes","value":"responseNodes","description":"Send responses to the chat by using one or more Chat nodes"}],"default":"streaming","description":"When and how to respond to the chat","displayOptions":{"show":{"/availableInChat":[true]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Auto-save highlighted data","name":"autoSaveHighlightedData","type":"boolean","default":true,"description":"Whether to automatically save <a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executiondata/\" target=\"_blank\">highlighted data</a>. This data can then be used to filter executions in the Executions view. Available on Pro and Enterprise plans in n8n Cloud, and on Enterprise or registered Community Edition for self-hosted. Defaults to true."}]},{"displayName":"Options","name":"options","type":"collection","displayOptions":{"show":{"mode":["hostedChat","webhook"],"public":[true],"@version":[{"_cnd":{"gte":1.3}}]}},"placeholder":"Add Field","default":{},"options":[{"displayName":"Allowed Origins (CORS)","name":"allowedOrigins","type":"string","default":"*","description":"Comma-separated list of URLs allowed for cross-origin non-preflight requests. Use * (default) to allow all origins.","displayOptions":{"show":{"/mode":["hostedChat","webhook"]}}},{"displayName":"Allow File Uploads","name":"allowFileUploads","type":"boolean","default":false,"description":"Whether to allow file uploads in the chat","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Allowed File Mime Types","name":"allowedFilesMimeTypes","type":"string","default":"*","placeholder":"e.g. image/*, text/*, application/pdf","description":"Allowed file types for upload. Comma-separated list of <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\" target=\"_blank\">MIME types</a>.","displayOptions":{"show":{"/mode":["hostedChat"]}}},{"displayName":"Input Placeholder","name":"inputPlaceholder","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Type your question..","placeholder":"e.g. Type your message here","description":"Shown as placeholder text in the chat input field"},{"displayName":"Load Previous Session","name":"loadPreviousSession","type":"options","options":[{"name":"Off","value":"notSupported","description":"Loading messages of previous session is turned off"},{"name":"From Memory","value":"memory","description":"Load session messages from memory"},{"name":"Manually","value":"manually","description":"Manually return messages of session"}],"default":"notSupported","description":"If loading messages of a previous session should be enabled","builderHint":{"propertyHint":"This ONLY rehydrates the chat widget UI when the user reopens it — it does NOT give the Agent memory. The Agent gets memory from its own memory subnode regardless of this setting. Only set to 'memory' if the user wants the widget to restore visible history on reload; if so, you MUST also attach a memory subnode to this trigger (use the same memory node as the Agent so widget history matches what the Agent remembers). Otherwise leave as 'notSupported'."}},{"displayName":"Require Button Click to Start Chat","name":"showWelcomeScreen","type":"boolean","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":false,"description":"Whether to show the welcome screen at the start of the chat"},{"displayName":"Start Conversation Button Text","name":"getStarted","type":"string","displayOptions":{"show":{"showWelcomeScreen":[true],"/mode":["hostedChat"]}},"default":"New Conversation","placeholder":"e.g. New Conversation","description":"Shown as part of the welcome screen, in the middle of the chat window"},{"displayName":"Subtitle","name":"subtitle","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Start a chat. We're here to help you 24/7.","placeholder":"e.g. We're here for you","description":"Shown at the top of the chat, under the title"},{"displayName":"Title","name":"title","type":"string","displayOptions":{"show":{"/mode":["hostedChat"]}},"default":"Hi there! 👋","placeholder":"e.g. Welcome","description":"Shown at the top of the chat"},{"displayName":"Custom Chat Styling","name":"customCss","type":"string","typeOptions":{"rows":10,"editor":"cssEditor"},"displayOptions":{"show":{"/mode":["hostedChat"]}},"default":":root {\n /* Colors */\n --chat--color--primary: #e74266;\n --chat--color--primary-shade-50: #db4061;\n --chat--color--primary--shade-100: #cf3c5c;\n --chat--color--secondary: #20b69e;\n --chat--color-secondary-shade-50: #1ca08a;\n --chat--color-white: #fff;\n --chat--color-light: #f2f4f8;\n --chat--color-light-shade-50: #e6e9f1;\n --chat--color-light-shade-100: #c2c5cc;\n --chat--color-medium: #d2d4d9;\n --chat--color-dark: #101330;\n --chat--color-disabled: #d2d4d9;\n --chat--color-typing: #404040;\n\n /* Base Layout */\n --chat--spacing: 1rem;\n --chat--border-radius: 0.25rem;\n --chat--transition-duration: 0.15s;\n --chat--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\n\n /* Window Dimensions */\n --chat--window--width: 400px;\n --chat--window--height: 600px;\n --chat--window--bottom: var(--chat--spacing);\n --chat--window--right: var(--chat--spacing);\n --chat--window--z-index: 9999;\n --chat--window--border: 1px solid var(--chat--color-light-shade-50);\n --chat--window--border-radius: var(--chat--border-radius);\n --chat--window--margin-bottom: var(--chat--spacing);\n\n /* Header Styles */\n --chat--header-height: auto;\n --chat--header--padding: var(--chat--spacing);\n --chat--header--background: var(--chat--color-dark);\n --chat--header--color: var(--chat--color-light);\n --chat--header--border-top: none;\n --chat--header--border-bottom: none;\n --chat--header--border-left: none;\n --chat--header--border-right: none;\n --chat--heading--font-size: 2em;\n --chat--subtitle--font-size: inherit;\n --chat--subtitle--line-height: 1.8;\n\n /* Message Styles */\n --chat--message--font-size: 1rem;\n --chat--message--padding: var(--chat--spacing);\n --chat--message--border-radius: var(--chat--border-radius);\n --chat--message-line-height: 1.5;\n --chat--message--margin-bottom: calc(var(--chat--spacing) * 1);\n --chat--message--bot--background: var(--chat--color-white);\n --chat--message--bot--color: var(--chat--color-dark);\n --chat--message--bot--border: none;\n --chat--message--user--background: var(--chat--color--secondary);\n --chat--message--user--color: var(--chat--color-white);\n --chat--message--user--border: none;\n --chat--message--pre--background: rgba(0, 0, 0, 0.05);\n --chat--messages-list--padding: var(--chat--spacing);\n\n /* Toggle Button */\n --chat--toggle--size: 64px;\n --chat--toggle--width: var(--chat--toggle--size);\n --chat--toggle--height: var(--chat--toggle--size);\n --chat--toggle--border-radius: 50%;\n --chat--toggle--background: var(--chat--color--primary);\n --chat--toggle--hover--background: var(--chat--color--primary-shade-50);\n --chat--toggle--active--background: var(--chat--color--primary--shade-100);\n --chat--toggle--color: var(--chat--color-white);\n\n /* Input Area */\n --chat--textarea--height: 50px;\n --chat--textarea--max-height: 30rem;\n --chat--input--font-size: inherit;\n --chat--input--border: 0;\n --chat--input--border-radius: 0;\n --chat--input--padding: 0.8rem;\n --chat--input--background: var(--chat--color-white);\n --chat--input--text-color: initial;\n --chat--input--line-height: 1.5;\n --chat--input--placeholder--font-size: var(--chat--input--font-size);\n --chat--input--border-active: 0;\n --chat--input--left--panel--width: 2rem;\n\n /* Button Styles */\n --chat--button--padding: calc(var(--chat--spacing) * 5 / 8) var(--chat--spacing);\n --chat--button--border-radius: var(--chat--border-radius);\n --chat--button--font-size: 1rem;\n --chat--button--line-height: 1;\n --chat--button--color--primary: var(--chat--color-light);\n --chat--button--background--primary: var(--chat--color--secondary);\n --chat--button--border--primary: none;\n --chat--button--color--primary--hover: var(--chat--color-light);\n --chat--button--background--primary--hover: var(--chat--color-secondary-shade-50);\n --chat--button--border--primary--hover: none;\n --chat--button--color--primary--disabled: var(--chat--color-light);\n --chat--button--background--primary--disabled: #81bbb1;\n --chat--button--border--primary--disabled: none;\n --chat--button--color--secondary: var(--chat--color-light);\n --chat--button--background--secondary: hsl(0, 0%, 58%);\n --chat--button--border--secondary: none;\n --chat--button--color--secondary--hover: var(--chat--color-light);\n --chat--button--background--secondary--hover: hsl(0, 0%, 51%);\n --chat--button--border--secondary--hover: none;\n --chat--button--color--secondary--disabled: var(--chat--color-light);\n --chat--button--background--secondary--disabled: hsl(0, 0%, 78%);\n --chat--button--border--secondary--disabled: none;\n --chat--close--button--color-hover: var(--chat--color--primary);\n\n /* Send and File Buttons */\n --chat--input--send--button--background: var(--chat--color-white);\n --chat--input--send--button--color: var(--chat--color--secondary);\n --chat--input--send--button--background-hover: var(--chat--color--primary-shade-50);\n --chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--input--file--button--background: var(--chat--color-white);\n --chat--input--file--button--color: var(--chat--color--secondary);\n --chat--input--file--button--background-hover: var(--chat--input--file--button--background);\n --chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);\n --chat--files-spacing: 0.25rem;\n\n /* Body and Footer */\n --chat--body--background: var(--chat--color-light);\n --chat--footer--background: var(--chat--color-light);\n --chat--footer--color: var(--chat--color-dark);\n}\n\n\n/* You can override any class styles, too. Right-click inspect in Chat UI to find class to override. */\n.chat-message {\n\tmax-width: 50%;\n}","description":"Override default styling of the public chat interface with CSS"},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"Using 'Respond to Webhook' Node","value":"responseNode","description":"Response defined in that node"}],"default":"lastNode","description":"When and how to respond to the chat","displayOptions":{"show":{"/mode":["webhook"],"/availableInChat":[false]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"}],"default":"streaming","description":"When and how to respond to the chat","displayOptions":{"show":{"/mode":["webhook"],"/availableInChat":[true]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"Using Response Nodes","value":"responseNodes","description":"Send responses to the chat by using one or more Chat nodes"}],"default":"lastNode","description":"When and how to respond to the chat","displayOptions":{"show":{"/mode":["hostedChat"],"/availableInChat":[false]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Response Mode","name":"responseMode","type":"options","options":[{"name":"Streaming","value":"streaming","description":"Streaming response from specified nodes (e.g. Agents)"},{"name":"When Last Node Finishes","value":"lastNode","description":"Returns data of the last-executed node"},{"name":"Using Response Nodes","value":"responseNodes","description":"Send responses to the chat by using one or more Chat nodes"}],"default":"streaming","description":"When and how to respond to the chat","displayOptions":{"show":{"/mode":["hostedChat"],"/availableInChat":[true]}},"builderHint":{"propertyHint":"'streaming' (preferred for Agent-backed chats): the connected Agent streams its reply to the widget directly — no extra wiring. Place logging or side-effects on a PARALLEL branch off the trigger or Agent, never inline after the Agent. 'lastNode': the last-executed node's output is sent to the widget — that node MUST emit `{ output: '<reply text>' }` (typically the Agent itself, or a Set node re-shaping data). NEVER terminate the chain with a Data Table insert, HTTP Request, or other side-effect node — their output is not a chat reply and the widget will error. 'responseNodes' / 'responseNode': requires explicit response nodes inside the flow (`@n8n/n8n-nodes-langchain.chat` for chat-hub mode, `n8n-nodes-base.respondToWebhook` for webhook mode)."}},{"displayName":"Auto-save highlighted data","name":"autoSaveHighlightedData","type":"boolean","default":true,"description":"Whether to automatically save <a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executiondata/\" target=\"_blank\">highlighted data</a>. This data can then be used to filter executions in the Executions view. Available on Pro and Enterprise plans in n8n Cloud, and on Enterprise or registered Community Edition for self-hosted. Defaults to true."}]}]},
@@ -19,11 +19,15 @@ function extractProviderMetadata(metadata) {
19
19
  const thinkingSignature = typeof metadata.anthropic?.thinkingSignature === 'string'
20
20
  ? metadata.anthropic.thinkingSignature
21
21
  : undefined;
22
+ const reasoningContent = typeof metadata.deepseek?.reasoningContent === 'string'
23
+ ? metadata.deepseek.reasoningContent
24
+ : undefined;
22
25
  return {
23
26
  thoughtSignature,
24
27
  thinkingContent,
25
28
  thinkingType,
26
29
  thinkingSignature,
30
+ reasoningContent,
27
31
  };
28
32
  }
29
33
  function buildAnthropicContentBlocks(thinkingContent, thinkingType, thinkingSignature, toolInput, toolId, toolName) {
@@ -81,12 +85,16 @@ function buildIndividualAIMessage(toolId, toolName, toolInput, providerMetadata)
81
85
  type: 'tool_call',
82
86
  };
83
87
  const content = buildMessageContent(providerMetadata, toolInput, toolId, toolName);
88
+ const additionalKwargs = providerMetadata.thoughtSignature
89
+ ? buildGeminiAdditionalKwargs([{ id: toolId, name: toolName, args: toolInput }], providerMetadata.thoughtSignature)
90
+ : {};
91
+ if (providerMetadata.reasoningContent) {
92
+ additionalKwargs.reasoning_content = providerMetadata.reasoningContent;
93
+ }
84
94
  return new messages_1.AIMessage({
85
95
  content: content ?? [],
86
96
  ...(content === null && { tool_calls: [toolCall] }),
87
- ...(providerMetadata.thoughtSignature && {
88
- additional_kwargs: buildGeminiAdditionalKwargs([{ id: toolId, name: toolName, args: toolInput }], providerMetadata.thoughtSignature),
89
- }),
97
+ ...(Object.keys(additionalKwargs).length > 0 && { additional_kwargs: additionalKwargs }),
90
98
  });
91
99
  }
92
100
  function buildSharedGeminiAIMessage(processedTools, thoughtSignature) {
@@ -1 +1 @@
1
- {"version":3,"file":"buildSteps.js","sourceRoot":"","sources":["../../../utils/agent-execution/buildSteps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildSteps.js","sourceRoot":"","sources":["../../../utils/agent-execution/buildSteps.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,12 @@ function extractThinkingMetadata(toolCall, sharedMessageLog, sharedAdditionalKwa
41
41
  }
42
42
  }
43
43
  }
44
+ let reasoningContent;
45
+ if (effectiveAdditionalKwargs) {
46
+ const rc = effectiveAdditionalKwargs.reasoning_content;
47
+ if (typeof rc === 'string' && rc.length > 0)
48
+ reasoningContent = rc;
49
+ }
44
50
  let thinkingContent;
45
51
  let thinkingType;
46
52
  let thinkingSignature;
@@ -89,7 +95,13 @@ function extractThinkingMetadata(toolCall, sharedMessageLog, sharedAdditionalKwa
89
95
  }
90
96
  }
91
97
  }
92
- if (thoughtSignature || thinkingContent)
98
+ if (!reasoningContent && 'additional_kwargs' in message) {
99
+ const msgAdditionalKwargs = message.additional_kwargs;
100
+ const rc = msgAdditionalKwargs?.reasoning_content;
101
+ if (typeof rc === 'string' && rc.length > 0)
102
+ reasoningContent = rc;
103
+ }
104
+ if (thoughtSignature || thinkingContent || reasoningContent)
93
105
  break;
94
106
  }
95
107
  }
@@ -104,6 +116,9 @@ function extractThinkingMetadata(toolCall, sharedMessageLog, sharedAdditionalKwa
104
116
  ...(thinkingSignature ? { thinkingSignature } : {}),
105
117
  };
106
118
  }
119
+ if (reasoningContent) {
120
+ result.deepseek = { reasoningContent };
121
+ }
107
122
  return result;
108
123
  }
109
124
  function createEngineRequests(toolCalls, itemIndex, tools) {
@@ -1 +1 @@
1
- {"version":3,"file":"createEngineRequests.js","sourceRoot":"","sources":["../../../utils/agent-execution/createEngineRequests.ts"],"names":[],"mappings":";;;;;;;;AACA,+DAAuC;AACvC,uDAA+B;AAE/B,+CAAmD;AASnD,mCAAkG;AAElG,8BACC,QAAiB;IAEjB,OAAO,CACN,IAAA,kBAAQ,EAAC,QAAQ,CAAC;QAClB,OAAQ,QAAoC,CAAC,iBAAiB,KAAK,QAAQ,CAC3E,CAAC;AACH,CAAC;AAED,6BACC,QAAsB,EACtB,QAAgB,EAChB,SAAsB;IAEtB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtD,OAAO;QACN,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,QAAQ;QACR,aAAa,EAAE,SAAS,CAAC,cAA6B;KACtD,CAAC;AACH,CAAC;AAMD,SAAS,uBAAuB,CAC/B,QAAyB,EACzB,gBAAuC,EACvC,sBAA2D;IAE3D,MAAM,MAAM,GAAqB,EAAE,CAAC;IAGpC,MAAM,yBAAyB,GAC7B,QAAQ,CAAC,gBAAwD,IAAI,sBAAsB,CAAC;IAE9F,MAAM,mBAAmB,GACxB,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAGhG,IAAI,gBAAoC,CAAC;IACzC,IAAI,yBAAyB,EAAE,CAAC;QAE/B,MAAM,gBAAgB,GAAG,yBAAyB,CACjD,6CAA6C,CACP,CAAC;QACxC,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAG9D,gBAAgB;gBACf,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAGD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAkC,CAAC;YAChF,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAEtE,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,eAAmC,CAAC;IACxC,IAAI,YAA0D,CAAC;IAC/D,IAAI,iBAAqC,CAAC;IAE1C,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/D,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAE3C,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAG5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAE7B,IAAI,CAAC,gBAAgB,IAAI,IAAA,qCAA6B,EAAC,KAAK,CAAC,EAAE,CAAC;4BAC/D,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;wBAC3C,CAAC;wBAGD,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,EAAE,CAAC;4BAC5B,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;4BACjC,YAAY,GAAG,UAAU,CAAC;4BAC1B,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC;wBACrC,CAAC;6BAAM,IAAI,IAAA,+BAAuB,EAAC,KAAK,CAAC,EAAE,CAAC;4BAC3C,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC;4BAC7B,YAAY,GAAG,mBAAmB,CAAC;wBACpC,CAAC;oBACF,CAAC;gBACF,CAAC;gBAGD,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,IAAI,OAAO,EAAE,CAAC;oBACzD,MAAM,mBAAmB,GAAG,OAAO,CAAC,iBAExB,CAAC;oBACb,IAAI,mBAAmB,EAAE,CAAC;wBAEzB,MAAM,gBAAgB,GAAG,mBAAmB,CAC3C,6CAA6C,CACP,CAAC;wBACxC,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;4BAE9D,gBAAgB;gCACf,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;wBAID,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAkC,CAAC;4BAE1E,MAAM,YAAY,GACjB,YAAY,IAAI,OAAO;gCACtB,CAAC,CAAE,OAAO,CAAC,UAAiD;gCAC5D,CAAC,CAAC,SAAS,CAAC;4BAEd,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gCAC7C,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oCAEjD,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,UAAU,CACrC,CAAC;oCACF,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;wCAC5D,gBAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;oCAC9C,CAAC;gCACF,CAAC;gCAED,gBAAgB,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BAChE,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,gBAAgB,IAAI,eAAe;oBAAE,MAAM;YAChD,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG,EAAE,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,CAAC,SAAS,GAAG;YAClB,eAAe;YACf,YAAY;YACZ,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAeD,8BACC,SAA4B,EAC5B,SAAiB,EACjB,KAA0C;IAI1C,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CACtC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CACjD,EAAE,UAAU,CAAC;IAEd,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,gBAEhE,CAAC;IAEb,OAAO,SAAS;SACd,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;QAEpD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEnD,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAiB,CAAC;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAwB,CAAC;QACpD,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE7E,IAAI,KAAK,GAAgB,SAAS,CAAC;QACnC,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5B,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YAElB,KAAK,GAAG;gBAEP,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,gBAAgB,CAAC;gBAChC,GAAI,KAAK,CAAC,cAA8B;gBACxC,cAAc,EAAE,KAAK,CAAC,cAAc;aACpC,CAAC;QACH,CAAC;QAED,OAAO;YACN,UAAU,EAAE,qBAA8B;YAC1C,QAAQ;YACR,KAAK;YACL,IAAI,EAAE,kCAAmB,CAAC,MAAM;YAChC,EAAE,EAAE,QAAQ,CAAC,UAAU;YACvB,QAAQ,EAAE;gBACT,SAAS;gBACT,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;aAC9E;SACD,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"createEngineRequests.js","sourceRoot":"","sources":["../../../utils/agent-execution/createEngineRequests.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,9 @@ export type AnthropicThinkingMetadata = {
53
53
  thinkingType?: 'thinking' | 'redacted_thinking';
54
54
  thinkingSignature?: string;
55
55
  };
56
+ export type DeepSeekThinkingMetadata = {
57
+ reasoningContent?: string;
58
+ };
56
59
  export type HitlMetadata = {
57
60
  gatedToolNodeName: string;
58
61
  toolName: string;
@@ -61,6 +64,7 @@ export type HitlMetadata = {
61
64
  export type ThinkingMetadata = {
62
65
  google?: GoogleThinkingMetadata;
63
66
  anthropic?: AnthropicThinkingMetadata;
67
+ deepseek?: DeepSeekThinkingMetadata;
64
68
  };
65
69
  export type RequestResponseMetadata = {
66
70
  itemIndex?: number;
@@ -69,6 +73,7 @@ export type RequestResponseMetadata = {
69
73
  iterationCount?: number;
70
74
  google?: GoogleThinkingMetadata;
71
75
  anthropic?: AnthropicThinkingMetadata;
76
+ deepseek?: DeepSeekThinkingMetadata;
72
77
  hitl?: HitlMetadata;
73
78
  toolName?: string;
74
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/agent-execution/types.ts"],"names":[],"mappings":";;;;;AAgLA,yBAAgC,KAAc;IAC7C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;AACH,CAAC;AAKD,iCAAwC,KAAc;IACrD,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC9B,CAAC;AACH,CAAC;AAKD,uCACC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,kBAAkB,IAAI,KAAK;QAC3B,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/agent-execution/types.ts"],"names":[],"mappings":";;;;;AA+LA,yBAAgC,KAAc;IAC7C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;AACH,CAAC;AAKD,iCAAwC,KAAc;IACrD,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC9B,CAAC;AACH,CAAC;AAKD,uCACC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,kBAAkB,IAAI,KAAK;QAC3B,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAC1C,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { BaseMessage } from '@langchain/core/messages';
2
+ export declare function toParserInputText(output: string | BaseMessage): string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toParserInputText = toParserInputText;
4
+ function toParserInputText(output) {
5
+ return typeof output === 'string' ? output : output.text;
6
+ }
7
+ //# sourceMappingURL=parserInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parserInput.js","sourceRoot":"","sources":["../../../utils/output_parsers/parserInput.ts"],"names":[],"mappings":";;;AASA,2BAAkC,MAA4B;IAC7D,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1D,CAAC"}