AutomationFlowsAI & RAG › LangChain Code Node Example with OpenAI

LangChain Code Node Example with OpenAI

Original n8n title: Langchain - Example - Code Node Example

LangChain - Example - Code Node Example. Uses lmOpenAi, stickyNote, manualTrigger, lmChatOpenAi. Event-driven trigger; 10 nodes.

Event trigger★★★★☆ complexityAI-powered10 nodesLm Open AiOpenAI ChatAgent
AI & RAG Trigger: Event Nodes: 10 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → OpenAI Chat recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "q2MJWAqpKF2BCJkq",
  "name": "LangChain - Example - Code Node Example",
  "tags": [
    {
      "id": "snf16n0p2UrGP838",
      "name": "LangChain - Example",
      "createdAt": "2023-09-25T16:21:55.962Z",
      "updatedAt": "2023-09-25T16:21:55.962Z"
    }
  ],
  "nodes": [
    {
      "id": "ad1a920e-1048-4b58-9c4a-a0469a1f189d",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmOpenAi",
      "position": [
        900,
        628
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7dd04ecd-f169-455c-9c90-140140e37542",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        340
      ],
      "parameters": {
        "width": 432,
        "height": 237,
        "content": "## Self-coded LLM Chain Node"
      },
      "typeVersion": 1
    },
    {
      "id": "05ad7d68-5dc8-42f2-8274-fcb5bdeb68cb",
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        280,
        428
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "39e2fd34-3261-44a1-aa55-96f169d55aad",
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        620,
        428
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "input",
              "value": "Tell me a joke"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "42a3184c-0c62-4e79-9220-7a93e313317e",
      "name": "Set1",
      "type": "n8n-nodes-base.set",
      "position": [
        620,
        820
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "input",
              "value": "What year was Einstein born?"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "4e2af29d-7fc4-484b-8028-1b9a84d60172",
      "name": "Chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        731,
        1108
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "334e9176-3a18-4838-84cb-70e8154f1a30",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        1028
      ],
      "parameters": {
        "width": 320.2172923777021,
        "height": 231,
        "content": "## Self-coded Tool Node"
      },
      "typeVersion": 1
    },
    {
      "id": "05e0d5c6-df18-42ba-99b6-a2b65633a14d",
      "name": "Custom - Wikipedia",
      "type": "@n8n/n8n-nodes-langchain.code",
      "position": [
        971,
        1108
      ],
      "parameters": {
        "code": {
          "supplyData": {
            "code": "console.log('Custom Wikipedia Node runs');\nconst { WikipediaQueryRun } = require('langchain/tools');\nreturn new WikipediaQueryRun();"
          }
        },
        "outputs": {
          "output": [
            {
              "type": "ai_tool"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9c729e9a-f173-430c-8bcd-74101b614891",
      "name": "Custom - LLM Chain Node",
      "type": "@n8n/n8n-nodes-langchain.code",
      "position": [
        880,
        428
      ],
      "parameters": {
        "code": {
          "execute": {
            "code": "const { PromptTemplate } = require('langchain/prompts');\n\nconst query = $input.item.json.input;\nconst prompt = PromptTemplate.fromTemplate(query);\nconst llm = await this.getInputConnectionData('ai_languageModel', 0);\nlet chain = prompt.pipe(llm);\nconst output = await chain.invoke();\nreturn [ {json: { output } } ];"
          }
        },
        "inputs": {
          "input": [
            {
              "type": "main"
            },
            {
              "type": "ai_languageModel",
              "required": true,
              "maxConnections": 1
            }
          ]
        },
        "outputs": {
          "output": [
            {
              "type": "main"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6427bbf0-49a6-4810-9744-87d88151e914",
      "name": "Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        880,
        820
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e14a709d-08fe-4ed7-903a-fb2bae80b28a",
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Custom - LLM Chain Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set1": {
      "main": [
        [
          {
            "node": "Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "Custom - LLM Chain Node",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Chat OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Custom - Wikipedia": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Execute Workflow\"": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          },
          {
            "node": "Set1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

This workflow harnesses LangChain's capabilities to process queries through AI-driven code execution, delivering precise and customised responses by integrating OpenAI models with a flexible code node. It suits developers and AI enthusiasts seeking to automate complex tasks like querying Wikipedia data or running bespoke scripts without building everything from scratch. The key step involves the custom code node, which takes inputs from Chat OpenAI and OpenAI nodes to execute tailored logic, streamlining experimentation with event-triggered AI chains.

Use this workflow for prototyping AI agents that require code-level customisation, such as analysing external data sources in real-time, especially when triggered by specific events. Avoid it for simple data transfers or non-AI automations, where basic nodes suffice without LangChain overhead. Common variations include swapping the Wikipedia code for database queries or API calls to adapt to different analytical needs.

About this workflow

LangChain - Example - Code Node Example. Uses lmOpenAi, stickyNote, manualTrigger, lmChatOpenAi. Event-driven trigger; 10 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Custom Langchain Agent Written In Javascript. Uses lmOpenAi, stickyNote, manualTrigger, lmChatOpenAi. Event-driven trigger; 10 nodes.

Lm Open Ai, OpenAI Chat, Agent
AI & RAG

K&S-Media Downloadliste SQL. Uses httpRequest, agent, googleSheets, lmChatOpenAi. Event-driven trigger; 97 nodes.

HTTP Request, Agent, Google Sheets +3
AI & RAG

🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.

OpenAI, HTTP Request, Form Trigger +7
AI & RAG

BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.

Agent, Telegram Trigger, Telegram +10
AI & RAG

Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +9