AutomationFlowsAI & RAG › AI Chat with Any Data Source

AI Chat with Any Data Source

Original n8n title: AI Chat with Any Data Source (using the N8n Workflow Tool)

Ai Chat With Any Data Source (Using The N8N Workflow Tool). Uses manualChatTrigger, executeWorkflowTrigger, hackerNews, agent. Chat trigger; 12 nodes.

Chat trigger trigger★★★★☆ complexityAI-powered12 nodesManual Chat TriggerExecute Workflow TriggerHacker NewsAgentOpenAI ChatTool Workflow
AI & RAG Trigger: Chat trigger Nodes: 12 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Execute Workflow Trigger 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
{
  "nodes": [
    {
      "id": "4c52efcf-039b-4550-8a63-3d3d4dde488b",
      "name": "On new manual Chat Message",
      "type": "@n8n/n8n-nodes-langchain.manualChatTrigger",
      "position": [
        740,
        300
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "adb528f1-b87b-4bb2-99e1-776fd839522e",
      "name": "Execute Workflow Trigger",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        680,
        940
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "092cf737-5b53-4fc8-82f5-c775b77ea0bd",
      "name": "Hacker News",
      "type": "n8n-nodes-base.hackerNews",
      "position": [
        900,
        940
      ],
      "parameters": {
        "limit": 50,
        "resource": "all",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "a0805137-630c-4065-826e-88afa000660f",
      "name": "Clean up data",
      "type": "n8n-nodes-base.set",
      "position": [
        1120,
        940
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "title",
              "stringValue": "={{ $json._highlightResult.title.value }}"
            },
            {
              "name": "points",
              "type": "numberValue",
              "numberValue": "={{ $json.points }}"
            },
            {
              "name": "url",
              "stringValue": "={{ $json.url }}"
            },
            {
              "name": "created_at",
              "stringValue": "={{ $json.created_at }}"
            },
            {
              "name": "author",
              "stringValue": "={{ $json.author }}"
            }
          ]
        },
        "include": "none",
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "e1b255f4-e970-42d6-9870-4e302bf2da83",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        960,
        300
      ],
      "parameters": {
        "options": {
          "maxIterations": 10
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "91e3391e-909e-4d63-9649-ff62781dbba9",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        960,
        520
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "cd1f0028-635e-48eb-ac38-4c6fb25ed63e",
      "name": "Stringify",
      "type": "n8n-nodes-base.code",
      "position": [
        1340,
        940
      ],
      "parameters": {
        "jsCode": "return {\n 'response': JSON.stringify($input.all().map(x => x.json))\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "7df241eb-67d3-4724-8b32-4b53561ed55f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        820
      ],
      "parameters": {
        "color": 7,
        "width": 150,
        "height": 293,
        "content": "### Replace me\nwith any other service, e.g. fetching your own data"
      },
      "typeVersion": 1
    },
    {
      "id": "270845df-7c2d-4035-9ac0-e41d418b3026",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        738.125
      ],
      "parameters": {
        "color": 7,
        "width": 927.5,
        "height": 406.875,
        "content": "### Sub-workflow: Custom tool\nThis can be called by the agent above. This example fetches the top 50 posts ever on Hacker News"
      },
      "typeVersion": 1
    },
    {
      "id": "1d796a86-45d1-4fc4-8245-893525505d1f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        200
      ],
      "parameters": {
        "color": 7,
        "width": 927.5,
        "height": 486.5625,
        "content": "### Main workflow: AI agent using custom tool\nTry it out by clicking 'Chat' and entering 'What is the 5th most popular post ever on Hacker News?'"
      },
      "typeVersion": 1
    },
    {
      "id": "38ff64b5-6f47-4d2d-9051-caab418bb0e8",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        440,
        300
      ],
      "parameters": {
        "width": 185.9375,
        "height": 218,
        "content": "## Try me out\n\nClick the 'Chat' button and enter:\n\n_What is the 5th most popular post ever on Hacker News?_"
      },
      "typeVersion": 1
    },
    {
      "id": "3532e461-bd74-48f7-93e1-96d608c88688",
      "name": "Custom tool to call the wf below",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        1120,
        520
      ],
      "parameters": {
        "name": "hn_tool",
        "workflowId": "={{ $workflow.id }}",
        "description": "Returns a list of the most popular posts ever on Hacker News, in json format"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Hacker News": {
      "main": [
        [
          {
            "node": "Clean up data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean up data": {
      "main": [
        [
          {
            "node": "Stringify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Execute Workflow Trigger": {
      "main": [
        [
          {
            "node": "Hacker News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On new manual Chat Message": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Custom tool to call the wf below": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "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

Enable seamless conversations with AI about any data source, from Hacker News feeds to custom databases, without coding complex queries. This workflow empowers non-technical users, such as content creators or analysts, to ask natural language questions and receive instant, context-aware responses. The key step involves an AI agent that processes your chat input, fetches relevant data via integrations like Hacker News, and generates tailored replies using OpenAI's chat model.

Use this workflow for quick insights into dynamic data sources during research or monitoring tasks, such as tracking trending tech stories. Avoid it for high-volume production environments needing robust error handling or real-time scalability. Common variations include swapping Hacker News for RSS feeds or Google Sheets to query personal datasets.

About this workflow

Ai Chat With Any Data Source (Using The N8N Workflow Tool). Uses manualChatTrigger, executeWorkflowTrigger, hackerNews, agent. Chat trigger; 12 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

Example workflow pass page content to LLM. Uses manualChatTrigger, lmChatOpenAi, httpRequest, executeWorkflowTrigger. Chat trigger; 24 nodes.

Manual Chat Trigger, OpenAI Chat, HTTP Request +3
AI & RAG

Agent with custom HTTP Request. Uses manualChatTrigger, lmChatOpenAi, httpRequest, executeWorkflowTrigger. Chat trigger; 20 nodes.

Manual Chat Trigger, OpenAI Chat, HTTP Request +3
AI & RAG

Executeworkflow Hackernews. Uses stickyNote, chatTrigger, toolWorkflow, executeWorkflowTrigger. Chat trigger; 12 nodes.

Chat Trigger, Tool Workflow, Execute Workflow Trigger +3
AI & RAG

2026. Uses chatTrigger, toolWorkflow, executeWorkflowTrigger, hackerNews. Chat trigger; 12 nodes.

Chat Trigger, Tool Workflow, Execute Workflow Trigger +3
AI & RAG

This AI agent can access data provided by another n8n workflow. Since that workflow can be used to retrieve any data from any service, this template can be used give an agent access to any data.

Chat Trigger, Tool Workflow, Execute Workflow Trigger +3